summaryrefslogtreecommitdiff
path: root/doc/README
diff options
context:
space:
mode:
Diffstat (limited to 'doc/README')
-rw-r--r--doc/README91
1 files changed, 91 insertions, 0 deletions
diff --git a/doc/README b/doc/README
index e69de29..3511c04 100644
--- a/doc/README
+++ b/doc/README
@@ -0,0 +1,91 @@
+Baltisot 0.1.0
+~~~~~~~~~~~~~~
+
+Hello, this is the library Baltisot. If you are reading this, you probably are
+a developper and want to learn to use it. Before that, let's talk a bit about
+what exactly Baltisot is.
+
+
+Baltisot is a multiple purpose C++ library. I've written as much low level,
+middle level and high level classes as possible. I've classified the classes:
+
+ o Low level:
+Base - Override memory allocations routines.
+Exception - Declines a few exceptions classes.
+String - A mere fool-prof String class.
+Regex - A class to compile and test regexes.
+Variables - A class that can store a variables table.
+
+ o Middle level:
+Handle - Encapsulate basic handles functions, has to be derivated:
+ Input - Open a file for input.
+ Output - Open a file for output.
+ Buffer - A virtual handle that reads and writes in memory. Foolproof.
+ InPipe - A pipe that redirect stdout.
+ OutPipe - A pipe that redirect stdin.
+ Socket - Implements all the socket functions.
+
+ o High level:
+IRC - An IRC client. Unworkable for now.
+TaskMan - A task manager. Handles some events occuring on tasks.
+Task - The primary task class handled by the task manager. Has to be derivated:
+ CopyJob - A task that can copy a handle to another.
+ ReadJob - A task that can read a handle line by line until a regex is matched.
+ HttpServ - A Mini-Http server to design distibuted applications.
+Action - Actions from the Http server, has to be derivated:
+ Confirm - Show a yes/no confirmation window.
+ Form - An input form.
+ Menu - An actions menu.
+ Message - Display a simple message window.
+ Table - To show a table.
+
+
+There is also general objects that can be used:
+Stdio - An input handle to read from stdio.
+Stdout - An output handle to write to stdout.
+Stderr - An output handle to write to stderr.
+
+All the three objects still works even if the base handles are closed.
+
+empty & any - Two basic regex.
+
+
+You can now read the API file to know how to use each of the classes. As an
+example, you can read the source from 'Main.cc' into the 'src' directory.
+
+There is two little helpers functions into the 'src/misc.cc' file to generate HTTP
+actions. GeneDeroul can read a handle and returns two String array to be used as
+a pull down menu. The input handle can be seen as this:
+
+----- begin -----
+value1
+Description 1
+value2
+Description 2
+
+
+------ end ------
+
+GeneList can create a string array to be used to create a table from a handle.
+The input handle can be seen as this:
+
+----- begin -----
+cell 1, 1
+cell 1, 2
+cell 1, 3
+cell 2, 1
+cell 2, 2
+cell 2, 3
+
+------ end ------
+
+You just give the number of columns.
+
+
+The whole library is heavy based on the vector<T> class. But I think (and since
+I did code most of those classes) that it sucks. Well, some of you will tell
+that I exagerate and that the STL is a good library. So others will say that
+there is better C++ libraries around. My answer is that Baltisot is a C++ test
+for me. So I want to recode everything.
+
+Time for you to read the API file :)