File: guide.html

package info (click to toggle)
librudiments0 0.27-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 4,528 kB
  • ctags: 2,284
  • sloc: cpp: 14,657; sh: 7,547; ansic: 2,664; makefile: 945; xml: 15
file content (164 lines) | stat: -rw-r--r-- 7,223 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<html>
<head>
<title>firstworks   Rudiments Guide</title>
<link href="css/styles.css" rel="stylesheet">
</head>
<body>

<span class="heading">Rudiments Guide</span><br><br>

<span class="heading">Downloading Rudiments:</span><br><br>
<p>You can download the most current source distribution of <b>rudiments</b> 
from <a href="http://www.firstworks.com">http://www.firstworks.com</a>.</p>

<span class="heading">Unpacking Rudiments:</span><br><br>

<p>To unpack the distribution, copy the file to a location on your machine
that you have access to and execute the following commands:<p>

<ul>
<li>gunzip rudiments-X.XX.tar.gz</li>
<li>tar xf rudiments-X.XX.tar</li>
</ul>

<p>This will create a rudiments-X.XX directory. Change directories into that 
directory.</p>

<span class="heading">Compiling Rudiments:</span><br><br>

<p>To compile <b>Rudiments</b>, read the INSTALL file, 
then execute the following commands:</p>

<ul>
<li>configure</li>
<li>make</li>
</ul>

<p><b>Rudiments</b> should compile and function on unix-based systems
using the GNU development system.  Other compilers may work too but have not
been tested on the current version.</p>

<p>The -pedantic flag must be used with newer GNU compilers.  This flag is
turned on by default, don't disable it.</p>

<p>Upon sucessfull compilation, the lib directory should contain 
both librudiments.a and librudiments.so.</p>

<span class="heading">Installing Rudiments:</span><br><br>

<p>To install <b>Rudiments</b>, become root and execute:</p>

<ul>
<li>make install</li>
</ul>

<p>By default, everything is installed under /usr/local/firstworks.</p>

<p>To uninstall <b>Rudiments</b>, become root and execute:</p>

<ul>
<li>make uninstall</li>
</ul>


<span class="heading">Classes:</span>

<p>The <b>rudiments</b> class library consists of several classes.  Some are 
utility classes, others are designed to be base classes for software.</p>

<blockquote>
	<ul>
	<li><b><a href="classes/daemonprocess.h.html">daemonprocess</a></b> - base class for daemons
	</ul>

	<ul>
	<li><b><a href="classes/errorhandler.h.html">errorhandler</a></b> - base class that provides methods for setting and retrieving error messages
	</ul>

	<ul>
	<li><b><a href="classes/filedescriptor.h.html">filedescriptor</a></b> - base class for classes that need to interact with file descriptors
	<ul>
		<li><b><a href="classes/file.h.html">file</a></b> - base class for classes that need to interact with files
		<li><b><a href="classes/clientserverfactory.h.html">clientserverfactory</a></b> - class for generating instances of clients and servers
		<ul>
			<li><b><a href="classes/client.h.html">client</a></b> - base class for clients
			<ul>
				<li><b><a href="classes/clientsocket.h.html">clientsocket</a></b> - base class for clients that listen on sockets
				<ul>
					<li><b><a href="classes/inetclientsocket.h.html">inetclientsocket</a></b> - base class for inet tcp stream clients
					<li><b><a href="classes/unixclientsocket.h.html">unixclientsocket</a></b> - base class for unix tcp stream clients
				</ul>
			</ul>
			<li><b><a href="classes/server.h.html">server</a></b> - base class for servers
			<ul>
				<li><b><a href="classes/serversocket.h.html">serversocket</a></b> - base class for servers that listen on sockets
				<ul>
					<li><b><a href="classes/inetserversocket.h.html">inetserversocket</a></b> - base class for inet tcp stream servers
					<li><b><a href="classes/unixserversocket.h.html">unixserversocket</a></b> - base class for unix tcp stream servers
				</ul>
			</ul>
		</ul>
	</ul>
	<li><b><a href="classes/listener.h.html">listener</a></b> - base class for listening on pools of file descriptors
	</ul>

	<ul>
	<li><b><a href="classes/environment.h.html">environment</a></b> - environment variable processing class
	<li><b><a href="classes/commandline.h.html">commandline</a></b> - command line processing class
	<li><b><a href="classes/parameterstring.h.html">parameterstring</a></b> - parameter string processing class
	<li><b><a href="classes/datetime.h.html">datetime</a></b> - date/time processing class
	<li><b><a href="classes/timezonefile.h.html">timezonefile</a></b> - class for parsing timezone files
	<li><b><a href="classes/filesystem.h.html">filesystem</a></b> - class for gathering filesystem statistics
	<li><b><a href="classes/logger.h.html">logger</a></b> - class for generating log messages
	<li><b><a href="classes/permissions.h.html">permissions</a></b> - class for generating file permissions
	<li><b><a href="classes/randomnumber.h.html">randomnumber</a></b> - class for generating random numbers
	<li><b><a href="classes/regularexpression.h.html">regularexpression</a></b> - class for dealing with regular expressions
	</ul>

	<ul>
	<li><b><a href="classes/signalclasses.h.html">signalclasses</a></b> - classes with methods for managing signals
	<li><b><a href="classes/sharedmemory.h.html">sharedmemory</a></b> - shared memory class
	<li><b><a href="classes/semaphoreset.h.html">semaphoreset</a></b> - semaphore class
	</ul>

	<ul>
	<li><b><a href="classes/memorypool.h.html">memorypool</a></b> - class that implements a memory pool
	<li><b><a href="classes/variablebuffer.h.html">variablebuffer</a></b> - class for storing arbitrary length data
	<li><b><a href="classes/stringbuffer.h.html">stringbuffer</a></b> - class for storing arbitrary length strings
	<li><b><a href="classes/string.h.html">string</a></b> - string processing and evaluation class
	</ul>

	<ul>
	<li><b><a href="classes/xmldom.h.html">xmldom</a></b> - a minimal XML DOM parser
	<li><b><a href="classes/xmldomnode.h.html">xmldomnode</a></b> - an XML DOM tree node
	<li><b><a href="classes/xmlsax.h.html">xmlsax</a></b> - base class for xml parsers
	<li><b><a href="classes/dtd.h.html">dtd</a></b> - class for processing xml dtd's
	</ul>

	<ul>
	<li><b><a href="classes/groupentry.h.html">groupentry</a></b> - container for /etc/group entries
	<li><b><a href="classes/hostentry.h.html">hostentry</a></b> - container for /etc/hosts entries
	<li><b><a href="classes/passwdentry.h.html">passwdentry</a></b> - container for /etc/passwd entires
	<li><b><a href="classes/protocolentry.h.html">protocolentry</a></b> - container for /etc/protocols entries
	<li><b><a href="classes/rpcentry.h.html">rpcentry</a></b> - container for /etc/rpc entires
	<li><b><a href="classes/serviceentry.h.html">serviceentry</a></b> - container for /etc/services entires
	<li><b><a href="classes/shadowentry.h.html">shadowentry</a></b> - container for /etc/shadow entires
	</ul>

	<ul>
	<li><b><a href="classes/dictionary.h.html">dictionary</a></b> - class for storing lists of key/data pairs
	<li><b><a href="classes/list.h.html">list</a></b> - class for storing data in a doubly linked list
	</ul>
</blockquote>

<p>As a rule of thumb, the base classes should be inherited from and the
utility classes should be instantiated as needed.  Some of the utility classes
have static methods which can be called directly without instantiating an 
instance of the class.</p>

<p>Refer to <a href="programming/baseclasses.html">base classes</a> and 
<a href="programming/utilclasses.html">utility classes</a> programming 
examples for more more information.</p>

</body>
</html>