X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Mainpage.dox;h=9438adb871b9d7a784950711a29fb2e560784c83;hb=5a66122a5731349c9361eccac4abaccc89be7d84;hp=b4723546284e6f0919566e7690a4b4bfd9218b8c;hpb=245bdb920e5f8fc1150794db8d0b42a15fa2cd15;p=senf.git diff --git a/Mainpage.dox b/Mainpage.dox index b472354..9438adb 100644 --- a/Mainpage.dox +++ b/Mainpage.dox @@ -14,7 +14,7 @@ \li modular framework design \li utilizing the power of modern C++ \li very low overhead for frequently called members - \li extensible design + \li extensible design \li concise interface \section start Getting started @@ -29,10 +29,7 @@ mailing lists. \see \ref usage\n - \ref example\n - Current status: Cross reference of action points\n - The BerliOS project page\n - The SENF Wiki at BerliOS + \ref example */ /** \page usage Using the SENF framework @@ -76,7 +73,7 @@ */ /** \page build Building the framework - + This procedure will test building the complete framework including the unit tests and the Sniffer test application. This build is \e not needed to use the framework since every project @@ -86,7 +83,7 @@ continue to setup your own project using SENF. \see \ref components \n - \ref svnsetup + \ref svnsetup \section checkout Getting the code @@ -94,8 +91,9 @@ repository. Change to your development directory and use the following subversion command -
-      $ svn checkout http://svn.berlios.de/svnroot/repos/senf/trunk senf
+
+    $ svn checkout http://svn.berlios.de/svnroot/repos/senf/trunk senf
+    
This will create a new directory \c senf within the current directory. For further documentation on the use of Subversion, see @@ -109,9 +107,10 @@ To build the library, execute all unit tests and build the Sniffer test application, use -
-      $ scons
-      $ scons all_tests
+
+    $ scons
+    $ scons all_tests
+    
in the \c senf directory. This assumes, that you want to build the library with your default gcc and requires the boost libraries to @@ -130,7 +129,7 @@ \see \ref build \n \ref svnsetup - + \section libSocket libSocket: C++ abstraction of the BSD socket API This library provides a high performance and object oriented @@ -169,13 +168,13 @@ miscellaneous tools and utilities. We have \li Simple functions to manage daemon processes - \li Standard exception classes + \li Standard exception classes \li senf::intrusive_refcount to simplify the implementation - of classes usable with boost::intrusive_ptr + of classes usable with boost::intrusive_ptr \li boost::bind extensions - \li An interface to the \c g++ demangler integrated with type_info + \li An interface to the \c g++ demangler integrated with type_info \li Typedefs and rudimentary methods to simplify handling - high-resolution time values + high-resolution time values \see libUtils API reference @@ -193,7 +192,7 @@ */ /** \page svnsetup Setting up a new project using SENF - + The preferred way to use SENF in a new project is to rely on Subversion and make use of the SENFSCons build environment. The following sections will describe, how this setup works. @@ -222,9 +221,10 @@ \c svn:externals. This will instruct \c svn to auutomatically check out the needed directories from the BerliOS SENF repository. Change to the 'Foo' directory and type - -
-        $ svn propedit svn:externals .
+ +
+    $ svn propedit svn:externals .
+    
The default editor (probably VI) will be started with the current value of the svn:externals property (which will probably be @@ -236,19 +236,21 @@ For example, if you want to use the \c Scheduler and \c Socket module, the file will look like -
-        senfscons http://svn.berlios.de/svnroot/repos/senf/trunk/senfscons
-        Utils http://svn.berlios.de/svnroot/repos/senf/trunk/Utils
-        Scheduler http://svn.berlios.de/svnroot/repos/senf/trunk/Scheduler
-        Socket http://svn.berlios.de/svnroot/repos/senf/trunk/Socket
+
+    senfscons http://svn.berlios.de/svnroot/repos/senf/trunk/senfscons
+    Utils http://svn.berlios.de/svnroot/repos/senf/trunk/Utils
+    Scheduler http://svn.berlios.de/svnroot/repos/senf/trunk/Scheduler
+    Socket http://svn.berlios.de/svnroot/repos/senf/trunk/Socket
+    
exit the editor and the property will be set. Now run -
-        $ svn update
+
+    $ svn update
+    
and the code will be checked out into the corresponding - directories. + directories. \section new_conf Configuring SENFSCons @@ -268,8 +270,9 @@ add \c SConfig to the list of files ignored by Subversion in the project root. In the project root execute -
-      $ svn propedit svn:ignore .
+
+    $ svn propedit svn:ignore .
+    
and add \c SConfig as a new line to the property. @@ -277,21 +280,24 @@ You should now be able to build your project using -
-      $ scons
+
+    $ scons
+    
If you have not changed the \c SConstruct file, this will build all modules you have importet into your project. To build and execute the unit tests, use -
-      $ scons all_tests
+
+    $ scons all_tests
+    
you can also build only a subdirectory by changing to it and running - -
-      $ scons -u [target]
+ +
+    $ scons -u [target]
+    
\see SENFSCons reference \n SCons documentation \n @@ -300,7 +306,7 @@ */ /** \page overview Introduction to the framework - + The SENF framework is relatively complex and makes use of advanced features of the C++ language. To make the most efficient use of the framework, you should have at least a basic understanding of @@ -325,37 +331,37 @@ example application is provided in the SENF repository in the \c Sniffer module. Peruse this example to get a first look at how to make use of SENF. - + When building a network Application with SENF, you will use several modules: - + \li Use the Socket - library for network communication needs. This library - includes support for raw and packet sockets to allow low level - network access. + library for network communication needs. This library + includes support for raw and packet sockets to allow low level + network access. \li Use the Scheduler - library to coordinate the asynchronous event - processing. This drastically reduces the number of threads - needed in your application and will greatly enhance the overall - responsiveness. + href="../../Scheduler/doc/html/index.html">Scheduler + library to coordinate the asynchronous event + processing. This drastically reduces the number of threads + needed in your application and will greatly enhance the overall + responsiveness. \li To interpret low level network packets, use the Packets - library. This library will provide efficient and - convenient access to all protocol fields. It supports parsing as - well as modifying and creating packets. It has default support - for the most important internet protocols and is highly - extensible with new protocols. + href="../../Packets/doc/html/index.html">Packets + library. This library will provide efficient and + convenient access to all protocol fields. It supports parsing as + well as modifying and creating packets. It has default support + for the most important internet protocols and is highly + extensible with new protocols. \li Go over the Utils - library. It contains small helpers to - simplify tasks like daemonization, exception handling, + library. It contains small helpers to + simplify tasks like daemonization, exception handling, debugging and so on. The simplest way to get started is: copy the Sniffer application and start to modify it. \see \ref example \n - \ref components \n + \ref components \n \ref svnsetup \n \ref build */ @@ -363,8 +369,10 @@ // Local Variables: // mode: c++ +// fill-column: 100 +// c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" // mode: flyspell // mode: auto-fill -// ispell-local-dictionary: "american" // End: -