Portability Libraries  2015.2.0.0
Common Methods and Objects for Platform Independance.
Software and Services objects and routines

The libraries are divided into several groups:

  • The Users group: User and Resource manipulation.
  • The Security group: Simple encryption and storage.
  • The Database group: SQL I/O
  • The I/O Operations. group: File and Socket IO
    • The Base object is used to serialize data types for standard interaction between programs or for storage and later retrieval. The Base object can be told to use system native or network byte order (the default). The details are described in Base class documentation.
    • The config object is used to store and fetch system, application, and user preferences. The details are described in config class documentation.
    • The error object is used to report unexpected problems. These objects can be stored or thrown. The error object is described in the error class documentation.
    • The File object is defined in Fill.hpp and in described in detail in File and Socket I/O. This provides read-only or write-only file I/O. File supports file descriptor, buffer, and memory mapped I/O reading and writing. See the File documentation.
    • The getpassphrase function is a specialty function used by console applications to optionally print out a prompt, then without echo ask for a password. See the getpassphrase documentation.
    • groff object is used to pass text to the http://gnu.org GNU nroff/groff text processing routines for created formatted text, postscript, PDF, or other formatted documents. See the groff documentation.
    • The Network object provides functions including name resolution (DNS), service to port mapping, and host to internet address mapping. Documented in the pages.
    • The Parse object is used to parse complex text object. Designed for iCalendar objects it can parse any text file. See the Parse documentation.
    • The Poll object wraps the POSIX poll function with operating system independent functions. In addition it allows the user to provide callbacks for reading and writing asynchronously. This works on POSIX and non POSIX (like MS-Windows) systems. See the Poll documentation.
    • The pQueue object is a priority queue. It allows insertions, optionally limit the number of elements in the queue. When each item is inserted, it must provide a priority. Items with the highest priority get pulled from the queue first. This is described in more detail in pQueue documentation.
    • The Program object allows the caller to start, suspend, stop, send signals to and find the status of processes on the same operating system. See Program documentation.
    • The Serialize object contains pure virtual methods that must be implemented by derived classes. Full details in Serialize documentation.
    • The TcpClient object provides methods to connect to a TCP server and perform I/O in an operating system independent way. The class is described in the TcpClient documentation.
    • The TcpServer object allows operating system independent methods to create a TCP server. The TcpServer object is described in the TcpServer documentation.
    • The TmpFile object creates temporary files. The files are automatically deleted when the program exits, or when deleted by the methods. See the TmpFile documentation.
  • The String manipulations and conversions. group: OS and compiler independent string manipulation.
    • The SoftwareAndServices::Library::Common::Strings class is used for manipulating strings, (char*), (wchar_t*), and can handle different charsets on the input and output. See String Documentation for the full documentation.
    • The SoftwareAndServices::Library::Common::StringCache class is used to store commonly used read-only strings. And is StringCache documents.
    • The SoftwareAndServices::Library::Common::strlower function converts a document to lower case. See strlower() documentation.
      • The SoftwareAndServices::Library::Common::strupper function converts a document to upper case. See strupper() documentation.

The Program starting and stopping. group: Start, Stop, and get the status of processes.

The Object and functions for storing data. group: Store and serialize data locally or across networks.

The User and application preferences. group: storage and retrieval of user and application preferences. The The SoftwareAndServices::Library::Common::config class provides operating system independent methods for storing and retrieving user, application, and system preferences. See documentation.

Copyright (C) 2014-2015 Software and Services Inc.
Copyright (C) 2010-2015 Software and Services LLC.
Copyright (C) 1993-2015 Douglas Mark Royer
Portions of the code have other copyright owners as listed in the files.

NOTICE:

THIS SOURCE CODE BELONGS TO THE COPYRIGHT HOLDERS LISTED ABOVE THIS CODE IS PROPERTY OF THE COPYRIGHT HOLDERS AND IS NOT TO BE DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED WRITTEN AUTHORIZATION FROM THE OWNER.

THIS SOFTWARE AND MANUAL ARE BOTH PROTECTED BY UNITED STATES COPYRIGHT LAW (TITLE 17 UNITED STATES CODE). UNAUTHORIZED REPRODUCTION AND/OR SALE MAY RESULT IN IMPRISONMENT OF UP TO FIVE YEARS AND FINES OF UP TO $250,000 (17 USC 506). COPYRIGHT INFRINGERS MAY ALSO BE SUBJECT TO CIVIL LIABILITY.

THIS NOTICE AND THE ABOVE COPYRIGHT NOTICE MUST REMAIN IN ALL COPIES AND ANY DERIVED WORK.

ALL OF THIS CODE IS ORIGINAL WORK BY THE COPYRIGHT HOLDER.

THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN IS PROVIDED ON AN "AS IS" BASIS AND OWNER DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT HE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.