|
From: stephan b. <sg...@us...> - 2004-12-24 01:03:15
|
Update of /cvsroot/pclasses/pclasses2/doc/manual In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25546 Modified Files: pclasses2.lyx Log Message: Most of the main doc outline is now in place. Index: pclasses2.lyx =================================================================== RCS file: /cvsroot/pclasses/pclasses2/doc/manual/pclasses2.lyx,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pclasses2.lyx 23 Dec 2004 23:18:20 -0000 1.1 +++ pclasses2.lyx 24 Dec 2004 01:03:01 -0000 1.2 @@ -42,7 +42,13 @@ CVS Info: $Id$ \layout Abstract -This document will someday be the library manual for P::Classes 2.x +This is the library manual for P::Classes 2.x. +\layout Abstract + +It provides an overview of what features P::Classes provides and how to + use them. + This document is a supplement to the API docs, and does not provide a 100% + standalone source of information about the library. \layout Standard @@ -78,20 +84,26 @@ \begin_inset Quotes srd \end_inset - P provides cross-platform features such as: + P provides cross-platform APIs supporting such features as: \layout Itemize Device-, protocol- and network-transparent i/o. \layout Itemize -A Plugins module. +Threading. \layout Itemize -A generic SQL interface, including modules for MySQL(tm), Postgres(tm) and - Oracle(tm). +Plugins. +\layout Itemize + +Server-neutral database interface, including modules for MySQL(tm), Postgres(tm) + and Oracle(tm). \layout Itemize Unicode-capable string and regular expressions support. +\layout Itemize + +Signals and slots. \layout Standard P @@ -120,6 +132,14 @@ Solaris \layout Itemize +Mac OS/X +\layout Itemize + + +\color red +Mach??? +\layout Itemize + \color red TODO @@ -132,7 +152,16 @@ See the project page for the links and information: \layout Quote + +\family typewriter http://sourceforge.net/projects/pclasses +\layout Standard + +The repository is named +\family typewriter +pclasses2 +\family default +. \layout Subsection Disclaimers @@ -151,7 +180,9 @@ No Warranties, express or implied. \layout Itemize -You Have Been Warned. + +\emph on +You Have Been Warned! \layout Subsection License @@ -159,6 +190,9 @@ P::Classes is released under the terms of the GNU Lesser General Public License (LGPL). + Some included source code may fall under other licenses, such as BSD or + Public Domain. + Please see the specific files for details. \layout Subsection Credits @@ -192,9 +226,39 @@ \layout Subsection Module List +\layout Standard + +In approximate order of dependencies: +\layout Itemize + +Core: the most basic operations performed by the library. +\layout Itemize + +Unicode: Unicode string support. +\layout Itemize + +System: threading and shared library support. +\layout Itemize + +IO: device-independent i/o support. +\layout Itemize + +Net: network-transparent i/o support. +\layout Itemize + +SQL: db-neutral SQL support. +\layout Itemize + +Util: more advanced thread management. +\layout Itemize + +Crypto: cryptography and hasing support. \layout Section Core Module +\layout Standard + +The types in this section all live in the namespace P. \layout Subsection Alloc @@ -206,13 +270,22 @@ Atomic \layout Standard -A wrapper for performing atomic operations. +A wrapper for performing atomic operations on arbitrary objects. + It uses assembly-level operations for types and architectures which support + them, otherwise is uses Critical Sections. \layout Subsection Exception \layout Standard The base exception type used by P. +\layout Subsubsection + +SourceInfo +\layout Standard + +SourceInfo is a type used by Exception to tell developers exactly where + an exception is thrown from. \layout Subsection LinkedItem @@ -233,9 +306,19 @@ \layout Standard Object factory interface. +\layout Subsection + +Signals and Slots +\layout Standard + +A templates-based, thread-safe signals and slots (object messaging) implementati +on. \layout Section Unicode Module +\layout Standard + +The types in this section all live in the namespace P::Unicode. \layout Subsection Char @@ -259,9 +342,22 @@ \layout Section Plugin Module +\layout Standard + +The types in this section all live in the namespace +\color red +P::??? +\color default +. +\layout Standard + +The Plugin module provides per-protocol, per-mime-type dynamic object loading. \layout Section System Module +\layout Standard + +The types in this section all live in the namespace P::System. \layout Subsection Filesystems @@ -272,24 +368,63 @@ FSFile, for consistency? \color default ) +\layout Standard + +Encapsulates a filesystem file. \layout Subsubsection FSDirectory +\layout Standard + +Encapsulates a filesystem directory. \layout Subsubsection FSPath +\layout Standard + +Encapsulates a filesystem path. \layout Subsection Shared libraries \layout Subsubsection SharedLib +\layout Standard + +Provides a platform-neutral interface into shared libraries (also called + DLL's and .so's). +\layout Subsubsection + + +\family typewriter +openSharedLibrary() +\layout Standard + +This free function opens a DLL and returns a SharedLibrary handle to it. \layout Subsection Threading +\layout Standard + +Provides platform-neutral threading facilities. +\layout Subsubsection + +Thread +\layout Subsubsection + +Mutex +\layout Subsubsection + +CriticalSection +\layout Subsubsection + +Condition \layout Section IO Module +\layout Standard + +The types in this section all live in the namespace P::IO. \layout Subsection IODevice @@ -299,6 +434,9 @@ \layout Section Net Module +\layout Standard + +The types in this section all live in the namespace P::Net. \layout Subsection NetworkAddress @@ -308,4 +446,108 @@ \layout Section SQL Module +\layout Standard + +The types in this section all live in the namespace +\color red +P::Sql??? +\color default +. +\layout Standard + +Provides a database-neutral interface for working with SQL databases. +\layout Subsection + +Available drivers +\layout Subsection + +Connection +\layout Subsection + +Statement +\layout Subsection + +Result +\layout Section + +Signals and Slots Module +\layout Standard + +The types in this section all live in the namespace +\color red +P::??? +\color default +. +\layout Section + +Crypto Module +\layout Standard + +The types in this section all live in the namespace P::Crypto. +\layout Section + +Util Module +\layout Standard + +The types in this section all live in the namespace P::Util. +\layout Subsection + +ManagedThread +\layout Subsection + +ThreadPool +\layout Subsection + +WorkQueue +\layout Section + +Misc notes +\layout Subsection + +Building client software with this library +\layout Subsubsection + +Including P::Classes headers +\layout Standard + +Please use the following convention for including P headers: +\layout Quote + + +\family typewriter +#include <pclasses/....> +\layout Standard + +If P is installed under one of your default search paths, or defined using + +\family typewriter +-I/P/prefix/include +\family default +, then your compiler will find them. +\layout Subsubsection + +Linking under Microsoft DevStudio +\layout Standard + +Clue == 0. +\layout Subsubsection + +Linking under Unix +\layout Standard + +Use the +\family typewriter +pclasses2-config +\family default + script, installed under +\family typewriter +PREFIX/bin +\family default +, to get information regarding includes paths and linker options required + for building client code. +\layout Standard + + +\color red +TODO: add pkgconfig support. \the_end |