-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathReadMe.txt
More file actions
199 lines (165 loc) · 8.86 KB
/
Copy pathReadMe.txt
File metadata and controls
199 lines (165 loc) · 8.86 KB
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
Overview:
The following source code provides libraries for some common programming
tasks. The following is a list of utility interfaces.
core: Core functions of the library
Assert: assert macros
Debug: debug macros
HandleObject: generic reference counted handle object (Windows implemented currently)
file: Utilities to iterate directories and manipulate files
FileAttributes: a class describing all attributes of a file
FileIterator: generic class for iterating a directory
FileIteratorImp: Interface for the actual iterator implementation
FileIteratorImpwin32: Windows iterator implementation
FileUtils: file manipulation utilities
fwk: framework interfaces
fwkConduit: an bi-directional synchronous broadcast mechanism
ifwkConduitListener: interface for a listener of a conduit
lang: language utilities
Date: a generic date class representing operations on dates
InterlockedLong: long integer whose operations are guaranteed to be atomic
ScheduleTime: a fine resolution timer (Windows implemented currently)
String: wrapper for a string or wstring based on unicode settings
log: logging subsystem
iLoggerImpl: Plugin module interface to extend the StdLogger.
LogImplementationFactory: logger implementation registry for dynamic creation of log implementations
LogStdFileImpl: file logger implementation
LogStdFormatter: object for formatting a line of text for the logger
LogStdLogger: System log component
log/nt: NT Evelt log subsystem
LogNTEventLogImpl: NT event log implementation
net: network subsystem
NetHttpClientPost: client-side HTTP post
NetHttpContent: HTTP content object
NetHttpSerPost: server-side HTTP post
NetHttpUtils: HTTP utilities
NetSocket: socket class
pat: interfaces for various patterns used in the code
iComparable: Interface to compare two classes
iDebuggable: interface supporting system debugging (rarely used anymore)
iRunnable: interface for objects that need to be run by the thread pool
iSchedulable: Interface for objects that need to be scheduled to
execute by the thread scheduler
iSerializable: interface for serializing to a DOM_Node
rpc: an XML rpc system
iRpcAddressImpl: interface for a transport specific address
iRpcAuthenticator: interface for an authentication object. Derivitives of this object
should register themselves with RpcAuthenticatorFactory for dynamic creation
by the RpcServer
iRpcClientTransport: client transport interface
iRpcMethod: interface representing a function for the RPC mechanism to call
contain one or more interfaces.1
iRpcServer: RPC server interface
iRpcTransport: interface for a transport object. Derivitives of this object
should register themselves with RpcTransportFactory for dynamic creation
by the RpcServer
RpcAddress: RPC address
RpcAddressImpl: implementation of an rpc address (unused)
RpcAuthenticatorFactory: global registry of creator functions for objects of type "iRpcAuthenticator"
RpcClient: RPC client class
RpcClientTransportFactory: RPC client registry
RpcDispatcher: the dispatch mechanism to call an interface and method based on
an XML document's processing instructions. The dispatcher can
RpcErrorHandler: DOM rpc error catcher
RpcInterface: Class containing multiple one or more methods that can be called
by the dispatcher.
RpcMessage: a message class containing a request header and data
RpcServer: the main class responsible for managing the dispatcher, transport and authenticators
RpcTransportFactory: global registry of creator functions for objects of type "iRpcTransport"
enum enumRpcCallResult: enumeration of results of the RPC syste, (see RpcTypes.h)
enum eRpcStatus: RPC server status (see RpcTypes.h)
enum eRpcControl: RPC transport control (see RpcTypes.h)
rpc/http: HTTP transport
RpcHttpTransport: server HTTP transport implementation
RpcHttpClientTransport: client HTTP transport implementation
RpcHttpAuthenticator: HTTP authenticator
svr: server subsystem
iSvrService: generic system service interface
svr/nt: NT SCM implementation
CService: C++ service wrapper
CServiceInstall: service installer
NTService: NT services interface
sys: System level components
iSysComponent: A dynamically loaded component used by the system loader
SysComInitializer: COM initializer
SysComponentFactory: factory for the dynamic component loader (iSysComponent>
SysComponentLoader: creates and initialized components from an XML config file
SysContext: system registry
SysCounterMgr: a system component used to control access to runtime counters
SysManager: various utility functions
SysObjectFactory<T>: template factory for the dynamic creation of objects T
SysObjectFactoryInlines: implementation of SysObjectFactory
SysPathMgr: path resolution service
SysAcl: access control list (Windows only)
SysDacl: class to add/deny access to a SysAcl (Windows only)
SysSacl: audit interfaces (Windows only)
SysSecurityAttributes: C++ wrapper for Windows objects (Windows only)
SysSecurityDescriptor: C++ wrapper for Windows objects (Windows only)
thd: Threading objects
ThdAutoLock: stack-based access control to other synchronization objects
ThdAutoCriticalSection: stack-based access control to a ThdCriticalSection
ThdCriticalSection: interface for a lightweight critical secion (Windows implemented currently)
ThdDeque: double ended queue
ThdEvent: Interface for an event synchronization object (Windows implemented currently)
ThdManager: interface for creating new threads
ThdMutex: Interface for an mutex synchronization object (Windows implemented currently)
ThdPool: Thread pool system component. Can add permanent threads to execute or can submit
objects of type iRunnable to execute in various execution modes (once, immediate)
ThdQueue<class T>: A sharable queue for threads to communicate passing objects of type T
ThdRunner<class T>: Wrapper implementing the iRunnable interface enabling a C++ class method
to be called directly.
ThdRWLock: single writer/multiple reader lock
ThdScheduler: Class enabling objects of type iSchedulable to be scheduled with high precision. This class
reduces overall system requirements for active threads required to handle large
number of active items requiring processor time.
ThdSemaphore: Interface for an semaphore synchronization object (Windows implemented currently)
ThdSyncObject: base class containing a shared synchronization object (Windows implemented currently)
ThdThread: Class implementing a system thread (Windows implemented currently)
ThdWaitableTimer: Interface for an timer synchronization object (Windows implemented currently)
util: Common utilities
AutoPtr<class T>: an invasive reference counted pointer. class T must be
derived from RefCounted
DllLoader: DLL loader mechanism
Heap<class Key, class Type, class KeyCompare, class TypeCompare>: A priority queue providing
quick lookup and manipulation of objects.
Mapping: an extension to a STL map<> with functionality to support different keys
and data types
MappingRef: the structure used by the Mapping to represent multiple data types
RefCounted: base class for AutoPtr<>
RefCountedPtr<class T>: a non-invasive reference counted pointer. Can be used to
reference count any type of pointer.
StreamUtils: stream utilities
StringTokenizer: crude implementation of a tokenizer
StringUtils: string conversion utilities
xml: Utilities for making manipulation of the DOM easier
DomUtils: Utilities to make manipulating and iterating DOM easier.
StreamFormatTarget: stream formatter
StringFormatTarget: string formatter
StXmlOpener: Stack-based class to initialize the XML sub-system
Licensing:
See License.txt for details
Building:
The following code has been compiled and tested with Microsoft Visual C++ 6.
It has the following dependencies:
STL Port 4.0 (www.stlport.org)
Xerces C++ Parser (www.apache.org)
The following directives control the behavior of the code.
Directive Purpose
_DEBUG Debug mode
NDEBUG Release mode
_WINDOWS Windows platform build (currently the only supported)
WIN32 Windows platform build (currently the only supported)
UNICODE if set String will be a wstring rather than a string object
USE_DLL The library is being built as a DLL. If not defined the following do not apply
BUILD_DLL Whether or not building a DLL or using the DLL interface.
Used to import or import definitions (Sets EXPORT_DLL)
The following environment variables are required to be set when building the code.
Variable Purpose
CS_STL Path to STL headers
CS_XMLPARSER Path to Xerces directory
The following macros are defined by the source
Macro Purpose
NTEXT Handle inline text conversion to unicode if UNICODE is defined.
ASSERT Assert in all modes
ASSERT_D Assert in debug mode
EXPORT_DLL Platform specific export/import declarations
NULL define null