Skip to content
A C-with-class library primarily for manipulating DSV data (reading and writing DSV data in any format), turns out it had more capabilities: DNS protocol, FTP protocol, a simple FTP server, OCI protocol, and reading/writing INI configuration file
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc doc: add diagram of class inheritance Mar 20, 2017
test File.get_line: fix error when last line does not end with new line Nov 4, 2017
.gitignore
BNode.cc BNode: update copyright, vim modeline and comment syntax Jul 12, 2017
BNode.hh BNode: update copyright, vim modeline and comment syntax Jul 12, 2017
Buffer.cc Buffer: fix comment indentation Jun 12, 2017
Buffer.hh Buffer.appendi: convert base to long int before doing any operation Jun 4, 2017
CHANGELOG
CODING_STYLE.md coding-style: use `/** ... */` for documented comment only, else use … Jun 4, 2017
Config.cc Config.get(): return default value if no key found Jul 13, 2017
Config.hh Config.add(): removed, since its redundant with set() Jun 27, 2017
ConfigData.cc ConfigData: rename dump() to chars() Jun 27, 2017
ConfigData.hh ConfigData: rename dump() to chars() Jun 27, 2017
DNSQuery.cc DNSQuery: initialize status variable Jun 12, 2017
DNSQuery.hh Buffer: move split_x methods to ListBuffer May 7, 2017
DNSRecordType.cc
DNSRecordType.hh Use DNSRecordType on DNS_rr and Resolver Feb 12, 2017
DNS_rr.cc Buffer: remove aprint, vprint and VSNPRINTF May 27, 2017
DNS_rr.hh Buffer: refactor size attribute, `_l`, from public to protected Apr 15, 2017
DSVReader.cc File: use string as end-of-line only, remove single char field "_eol" Jun 17, 2017
DSVReader.hh
DSVRecord.cc
DSVRecord.hh Buffer: refactoring buffer index, `_i`, from public to protected Apr 15, 2017
DSVRecordMD.cc [chore] DSVRecordMD: update following coding style Nov 5, 2017
DSVRecordMD.hh
DSVWriter.cc File: use string as end-of-line only, remove single char field "_eol" Jun 17, 2017
DSVWriter.hh
Dir.cc Buffer: use Error object when returning from method Jun 4, 2017
Dir.hh
DirNode.cc Buffer: remove method set Apr 16, 2017
DirNode.hh
Dlogger.cc [chore] Dlogger: update following coding style Nov 5, 2017
Dlogger.hh [chore] Dlogger: update following coding style Nov 5, 2017
Error.cc Error: Fix case condition to check size of integer in target machine May 20, 2018
Error.hh Error: change attributes from private to protected Jun 14, 2017
FTP.cc FTP: replace EOL with CR Jun 27, 2017
FTP.hh Buffer: refactoring buffer index, `_i`, from public to protected Apr 15, 2017
FTPD.cc File: return Error on read, readn, refill, and get_line Jun 16, 2017
FTPD.hh Buffer: refactoring buffer index, `_i`, from public to protected Apr 15, 2017
FTPD_client.cc File: return Error on read, readn, refill, and get_line Jun 16, 2017
FTPD_client.hh Changes affected by refactoring on File Jun 12, 2017
FTPD_cmd.cc FTPD_cmd: remove `_next` and `_last` fields Oct 2, 2016
FTPD_cmd.hh FTPD_cmd: remove `_next` and `_last` fields Oct 2, 2016
FTPD_user.cc FTPD_user: remove _next field, let the List class handle it Oct 2, 2016
FTPD_user.hh FTPD_user: remove _next field, let the List class handle it Oct 2, 2016
FTP_cmd.cc Update license header and add vim modeline at file footer Sep 11, 2016
FTP_cmd.hh Update license header and add vim modeline at file footer Sep 11, 2016
File.cc File.get_line: fix error when last line does not end with new line Nov 4, 2017
File.hh File.dump(): removed, because unused Jun 17, 2017
FmtParser.cc FmtParser: follow coding style guides Jun 4, 2017
FmtParser.hh FmtParser: follow coding style guides Jun 4, 2017
LICENSE Update license year end Jun 17, 2017
List.cc List: update copyright, vi modeline, and pointer after type Aug 29, 2017
List.hh List: update copyright, vi modeline, and pointer after type Aug 29, 2017
ListBuffer.cc ListBuffer: update coding style Aug 29, 2017
ListBuffer.hh ListBuffer: update coding style Aug 29, 2017
ListSockAddr.cc Buffer: use Error object when returning from method Jun 4, 2017
ListSockAddr.hh
Locker.cc Locker: set default mutex type to PTHREAD_MUTEX_ERRORCHECK Jun 14, 2017
Locker.hh Locker: set default mutex type to PTHREAD_MUTEX_ERRORCHECK Jun 14, 2017
Makefile
Makefile.common
Object.cc Object: follow coding style and move `__str` to protected Jun 4, 2017
Object.hh Object: follow coding style and move `__str` to protected Jun 4, 2017
RBT.cc RBT: add method to swap nodes position in tree Jun 2, 2017
RBT.hh RBT: add method to swap nodes position in tree Jun 2, 2017
README.md Update README to use markdown syntax Sep 3, 2016
Resolver.cc File: return Error on read, readn, refill, and get_line Jun 16, 2017
Resolver.hh Resolver.recv_tcp: reset buffer and close socket when read return 0 Jun 1, 2017
Rowset.cc
Rowset.hh Add class Rowset which define a list of row. Sep 28, 2016
SSVReader.cc File: return Error on read, readn, refill, and get_line Jun 16, 2017
SSVReader.hh Changes affected by refactoring on File Jun 12, 2017
SockAddr.cc SockAddr: fix conversion warnings Jun 12, 2017
SockAddr.hh SockAddr: reorder the default case to the bottom May 28, 2017
SockServer.cc File.open: change file open mode type from int to enum Jun 16, 2017
SockServer.hh Socket.accept(): new method to accept server connection Jun 12, 2017
Socket.cc File.open: change file open mode type from int to enum Jun 16, 2017
Socket.hh Socker: follow coding style guide Jun 14, 2017
Test.cc Test: initialize pointer variables Jun 17, 2017
Test.hh Test: add method to compare Error objects Jun 16, 2017
Thread.cc Add class Thread Feb 17, 2017
Thread.hh Fix code based on recommendation by cppcheck tool Mar 14, 2017
TreeNode.cc Buffer: remove aprint, vprint and VSNPRINTF May 27, 2017
TreeNode.hh Fix code based on recommendation by cppcheck tool Mar 14, 2017
User.cc User: fix aprint, replace it with append_fmt Jun 3, 2017
User.hh Add new class `User` to manage user process real and effective ID Feb 26, 2017
libvos.cc libvos: follow coding style Jun 4, 2017
libvos.cppcheck Fix code based on recommendation by cppcheck tool Mar 14, 2017
libvos.cppcheck.suppress make: add task for linting source with `clang-check` Apr 23, 2017
libvos.hh libvos: do not use GNU extension Aug 29, 2017

README.md

libvos

libvos is a C++ library. First implementation was intended for reading and writing Delimited Separated Value (DSV) data only, but then evolved and have more capabilities.

libvos contain several modules that can be independent or dependable through class inheritance and include pragma.

Current modules and features,

  • Buffer module, very easy and simple module for processing sequence byte of data. In example: string or network packet.

  • File module, module to talk to local file system, reading and writing file.

  • Dir module, module to talk to local file system, listing and caching directory content.

  • Reading and writing Delimited Separated Value (DSV) data.

  • Reading and writing INI file format.

  • Socket module, talk to network using UDP or TCP socket.

  • FTP module, very easy and simple module to talk to FTP server.

  • FTP server, module for serving file system or any hierarchy of data to networks using FTP.

  • OCI module, Minimalist and simple module for sending a query to Oracle Database server and receiving query data (not fully supported).

For more information see libvos Documentation [1] .

Get the latest libvos source code here [2] .

License

Copyright 2009-2016, M. Shulhan (ms@kilabit.info). All rights reserved.

---	---	---	---	---	---	---

TT  TT   II  BB          AAAA     LLLLLL  II  KKKKKKKK
TT TT    II  BB         AA  AA   LL   LL  II     KK
TTTT     II  BB        AA    AA   LL  LL  II     KK
TT TT    II  BB        AAAAAAAA   LLLLLL  II     KK
TT  TT   II  BB        AA    AA  LL   LL  II     KK
TT   TT  II  BBBBBBBB  AA    AA   LLLLLL  II     KK

Website: http://kilabit.info Contact: ms@kilabit.info

--

[1] http://kilabit.info/projects/libvos/doc/index.html

[2] http://github.com/shuLhan/libvos

You can’t perform that action at this time.