blocxx
CommonFwd.hpp
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright (C) 2005, Vintela, Inc. All rights reserved.
3 * Copyright (C) 2006, Novell, Inc. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * * Neither the name of
14 * Vintela, Inc.,
15 * nor Novell, Inc.,
16 * nor the names of its contributors or employees may be used to
17 * endorse or promote products derived from this software without
18 * specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 *******************************************************************************/
32 
33 
38 #ifndef BLOCXX_COMMON_FWD_HPP_INCLUDE_GUARD_
39 #define BLOCXX_COMMON_FWD_HPP_INCLUDE_GUARD_
40 #include "blocxx/BLOCXX_config.h"
41 #include "blocxx/ArrayFwd.hpp"
43 
44 // Yeah I know this is forbidden by the standard, but what am I gonna do? #include <algorithm> ? I think not.
45 // If it causes a problem on some compiler, just #ifdef a fix in.
46 #ifdef BLOCXX_WIN32
47 namespace std
48 {
49  template <typename T> struct less;
50 }
51 #else
52 namespace std
53 {
54  template <typename T> class less;
55 }
56 #endif
57 
58 namespace BLOCXX_NAMESPACE
59 {
60 
61 struct LogMessage;
62 
63 class BLOCXX_COMMON_API Logger;
65 
66 class BLOCXX_COMMON_API LogAppender;
68 
69 class BLOCXX_COMMON_API MultiAppender;
71 
72 class String;
74 
75 class Char16;
77 
78 template <class Key, class T, class Compare>
80 
81 template<class Key, class T, class Compare = SortedVectorMapDataCompare<Key, T, std::less<Key> > >
83 
84 class StringBuffer;
85 
86 class DateTime;
87 
88 template <class T> class Enumeration;
90 
91 class Thread;
93 
94 class ThreadPool;
96 
97 class Bool;
99 
101 
102 class NonRecursiveMutex;
103 class Mutex;
104 
105 class UnnamedPipe;
107 
108 class File;
109 
110 class MD5;
111 
112 class SharedLibraryLoader;
114 
115 class SelectableIFC;
117 
120 
121 class Socket;
122 
123 class SocketBaseImpl;
125 
126 class ServerSocket;
127 
128 class TempFileStream;
129 
130 class Runnable;
132 
133 class ThreadCounter;
135 
136 class ThreadDoneCallback;
138 
139 class CmdLineParser;
141 
142 //class PopenStreams;
143 
144 class Timeout;
145 class TimeoutTimer;
146 
147 class SSLServerCtx;
149 
150 class SSLClientCtx;
152 
153 class SSLTrustStore;
155 
156 class SharedLibrary;
158 
159 class Process;
161 
162 namespace Exec
163 {
164  class PreExec;
165 }
166 
167 #ifdef BLOCXX_ENABLE_TEST_HOOKS
169 class ExecMockObject;
170 #endif
171 
172 #ifdef BLOCXX_WIN32
173 template class BLOCXX_COMMON_API Array<String>;
174 #endif
175 
176 } // end namespace BLOCXX_NAMESPACE
177 
178 #endif
179 
BLOCXX_NAMESPACE::Char16Array
Array< Char16 > Char16Array
Definition: CommonFwd.hpp:75
BLOCXX_NAMESPACE::Socket
Definition: Socket.hpp:96
BLOCXX_NAMESPACE::LogAppender
Definition: LogAppender.hpp:86
BLOCXX_NAMESPACE::Char16
The Char16 class is an abstraction for a double byte character.
Definition: Char16.hpp:87
BLOCXX_NAMESPACE::IntrusiveReference
Definition: IntrusiveReference.hpp:106
BLOCXX_NAMESPACE::UnnamedPipeRef
IntrusiveReference< UnnamedPipe > UnnamedPipeRef
Definition: CommonFwd.hpp:105
BLOCXX_NAMESPACE::ThreadDoneCallbackRef
IntrusiveReference< ThreadDoneCallback > ThreadDoneCallbackRef
Definition: CommonFwd.hpp:136
BLOCXX_NAMESPACE::SelectableIFCRef
IntrusiveReference< SelectableIFC > SelectableIFCRef
Definition: CommonFwd.hpp:115
BLOCXX_NAMESPACE::Bool
The Bool class is an abstraction for the boolean data type.
Definition: Bool.hpp:87
ArrayFwd.hpp
BLOCXX_NAMESPACE::CmdLineParserException
Definition: CmdLineParser.hpp:79
BLOCXX_NAMESPACE::ProcessRef
IntrusiveReference< Process > ProcessRef
Definition: CommonFwd.hpp:159
BLOCXX_NAMESPACE::String
This String class is an abstract data type that represents as NULL terminated string of characters.
Definition: String.hpp:97
BLOCXX_NAMESPACE::SocketBaseImplRef
IntrusiveReference< SocketBaseImpl > SocketBaseImplRef
Definition: CommonFwd.hpp:123
BLOCXX_NAMESPACE
Taken from RFC 1321.
Definition: AppenderLogger.cpp:48
BLOCXX_NAMESPACE::SSLTrustStoreRef
IntrusiveReference< SSLTrustStore > SSLTrustStoreRef
Definition: CommonFwd.hpp:153
BLOCXX_NAMESPACE::SelectableIFC
Definition: SelectableIFC.hpp:81
BLOCXX_NAMESPACE::RunnableRef
IntrusiveReference< Runnable > RunnableRef
Definition: CommonFwd.hpp:130
BLOCXX_NAMESPACE::CmdLineParser
Do command line parsing.
Definition: CmdLineParser.hpp:89
BLOCXX_NAMESPACE::SocketBaseImpl
Definition: SocketBaseImpl.hpp:69
BLOCXX_NAMESPACE::NonRecursiveMutexLock
Note that descriptions of what exceptions may be thrown assumes that object is used correctly,...
Definition: NonRecursiveMutexLock.hpp:83
BLOCXX_NAMESPACE::SSLServerCtx
Definition: SSLCtxMgr.hpp:360
BLOCXX_NAMESPACE::ServerSocket
Definition: ServerSocket.hpp:83
BLOCXX_NAMESPACE::SSLClientCtxRef
IntrusiveReference< SSLClientCtx > SSLClientCtxRef
Definition: CommonFwd.hpp:150
BLOCXX_NAMESPACE::SSLServerCtxRef
IntrusiveReference< SSLServerCtx > SSLServerCtxRef
Definition: CommonFwd.hpp:147
BLOCXX_NAMESPACE::Logger
class BLOCXX_COMMON_API Logger
Definition: CommonFwd.hpp:63
BLOCXX_NAMESPACE::SharedLibrary
SharedLibrary is a base class for platform classes that implement the functionality of loading and qu...
Definition: SharedLibrary.hpp:83
BLOCXX_NAMESPACE::StringEnumeration
Enumeration< String > StringEnumeration
Definition: CommonFwd.hpp:88
BLOCXX_NAMESPACE::MultiAppender
This implementation of LogAppender is used to send a Log message to multiple LogAppenders.
Definition: MultiAppender.hpp:83
BLOCXX_NAMESPACE::LoggerRef
IntrusiveReference< Logger > LoggerRef
Definition: CommonFwd.hpp:64
BLOCXX_NAMESPACE::SharedLibraryLoaderRef
IntrusiveReference< SharedLibraryLoader > SharedLibraryLoaderRef
Definition: CommonFwd.hpp:112
BLOCXX_NAMESPACE::ThreadCounter
Definition: ThreadCounter.hpp:85
BLOCXX_NAMESPACE::FileSystemMockObject
This class can be used to modify/replace the behavior of the FileSystem functions.
Definition: FileSystemMockObject.hpp:83
BLOCXX_NAMESPACE::ThreadPool
The ThreadPool class is used to coordinate a group of threads.
Definition: ThreadPool.hpp:94
BLOCXX_NAMESPACE::BoolArray
Array< Bool > BoolArray
Definition: CommonFwd.hpp:97
BLOCXX_NAMESPACE::SortedVectorMap
Definition: CommonFwd.hpp:82
BLOCXX_NAMESPACE::SharedLibraryRef
IntrusiveReference< SharedLibrary > SharedLibraryRef
Definition: CommonFwd.hpp:156
BLOCXX_NAMESPACE::Thread
Descriptions of exceptions thrown assume that the object is used correctly, i.e., method precondition...
Definition: Thread.hpp:97
BLOCXX_NAMESPACE::SSLClientCtx
Definition: SSLCtxMgr.hpp:364
BLOCXX_NAMESPACE::Exec::PreExec
This class is used to specify what spawn() should do between fork and exec.
Definition: Exec.hpp:136
std::less
Definition: CommonFwd.hpp:84
BLOCXX_NAMESPACE::StringArray
Array< String > StringArray
Definition: CommonFwd.hpp:72
BLOCXX_NAMESPACE::NonRecursiveMutex
Note that descriptions of what exceptions may be thrown assumes that object is used correctly,...
Definition: NonRecursiveMutex.hpp:83
BLOCXX_NAMESPACE::Runnable
There are two methods for creating a thread of execution in the blocxx systems.
Definition: Runnable.hpp:88
BLOCXX_NAMESPACE::ThreadRef
IntrusiveReference< Thread > ThreadRef
Definition: CommonFwd.hpp:91
BLOCXX_NAMESPACE::ThreadDoneCallback
Definition: ThreadDoneCallback.hpp:79
BLOCXX_NAMESPACE::SharedLibraryLoader
SharedLibraryLoader is the base class for a platform class for loading shared libraries.
Definition: SharedLibraryLoader.hpp:86
BLOCXX_NAMESPACE::File
The purpose of the File class is to provide an abstraction layer over the platform dependant function...
Definition: File.hpp:85
std
Definition: CommonFwd.hpp:53
BLOCXX_NAMESPACE::TimeoutTimer
A TimeoutTimer is used by an algorithm to determine when a timeout has expired.
Definition: TimeoutTimer.hpp:106
BLOCXX_NAMESPACE::UnnamedPipe
Abstract interface for an UnnamedPipe.
Definition: UnnamedPipe.hpp:91
BLOCXX_NAMESPACE::SortedVectorMapDataCompare
Definition: CommonFwd.hpp:79
BLOCXX_NAMESPACE::Process
Class for communicating with and managing a child process.
Definition: Process.hpp:92
BLOCXX_NAMESPACE::MultiAppenderRef
IntrusiveReference< MultiAppender > MultiAppenderRef
Definition: CommonFwd.hpp:70
BLOCXX_NAMESPACE::MD5
Definition: MD5.hpp:133
BLOCXX_NAMESPACE::ThreadCounterRef
IntrusiveReference< ThreadCounter > ThreadCounterRef
Definition: CommonFwd.hpp:133
BLOCXX_NAMESPACE::ExecMockObject
This class can be used to modify/replace the behavior of the Exec functions.
Definition: ExecMockObject.hpp:79
BLOCXX_NAMESPACE::LogAppenderRef
IntrusiveReference< LogAppender > LogAppenderRef
Definition: CommonFwd.hpp:67
IntrusiveReference.hpp
BLOCXX_NAMESPACE::ThreadPoolRef
IntrusiveReference< ThreadPool > ThreadPoolRef
Definition: CommonFwd.hpp:94
BLOCXX_NAMESPACE::Timeout
A timeout can be absolute, which means that it will happen at the specified DateTime.
Definition: Timeout.hpp:86
BLOCXX_NAMESPACE::Array< String >
BLOCXX_NAMESPACE::Enumeration
Definition: CommonFwd.hpp:88
BLOCXX_NAMESPACE::Mutex
Definition: Mutex.hpp:78
BLOCXX_NAMESPACE::SelectableCallbackIFCRef
IntrusiveReference< SelectableCallbackIFC > SelectableCallbackIFCRef
Definition: CommonFwd.hpp:118
BLOCXX_NAMESPACE::SelectableCallbackIFC
Definition: SelectableCallbackIFC.hpp:83
BLOCXX_NAMESPACE::TempFileStream
TempFileStream is an iostream that uses an underlying temp file to hold its content to reduce memory ...
Definition: TempFileStream.hpp:210