Fixed DevStudio 2003 build with memory check code.
[pwlib.git] / include / ptlib.h
blobef4d2be7dc9e93f8beb2e8406dbb4e820519a1a8
1 /*
2 * ptlib.h
4 * Umbrella include for all non-GUI classes.
6 * Portable Windows Library
8 * Copyright (c) 1993-1998 Equivalence Pty. Ltd.
10 * The contents of this file are subject to the Mozilla Public License
11 * Version 1.0 (the "License"); you may not use this file except in
12 * compliance with the License. You may obtain a copy of the License at
13 * http://www.mozilla.org/MPL/
15 * Software distributed under the License is distributed on an "AS IS"
16 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17 * the License for the specific language governing rights and limitations
18 * under the License.
20 * The Original Code is Portable Windows Library.
22 * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
24 * Portions are Copyright (C) 1993 Free Software Foundation, Inc.
25 * All Rights Reserved.
27 * Contributor(s): ______________________________________.
29 * $Log$
30 * Revision 1.34 2006/06/21 03:28:41 csoutheren
31 * Various cleanups thanks for Frederic Heem
33 * Revision 1.33 2004/10/01 07:17:16 csoutheren
34 * Added PSharedptr class
36 * Revision 1.32 2004/07/06 10:12:52 csoutheren
37 * Added static integer o factory template to assist in ensuring factories are instantiated
39 * Revision 1.31 2004/05/13 14:53:34 csoutheren
40 * Add "abstract factory" template classes
42 * Revision 1.30 2004/04/11 13:26:25 csoutheren
43 * Removed namespace problems and removed warnings for Windows <string>
45 * Revision 1.29 2003/09/17 05:40:25 csoutheren
46 * Removed recursive includes
48 * Revision 1.28 2003/09/17 01:18:01 csoutheren
49 * Removed recursive include file system and removed all references
50 * to deprecated coooperative threading support
52 * Revision 1.27 2003/04/16 07:16:55 craigs
53 * Modified for new autoconf based configuration
55 * Revision 1.26 2002/04/09 02:30:18 robertj
56 * Removed GCC3 variable as __GNUC__ can be used instead, thanks jason Spence
58 * Revision 1.25 2002/01/22 03:54:41 craigs
59 * Removed pwavfile.h, as this has moved to PTCLib
61 * Revision 1.24 2001/07/19 09:53:29 rogerh
62 * Add the PWAVFile class to read and write .wav files
64 * Revision 1.23 2000/12/19 22:20:26 dereks
65 * Add video channel classes to connect to the PwLib PVideoInputDevice class.
66 * Add PFakeVideoInput class to generate test images for video.
68 * Revision 1.22 2000/06/26 11:17:19 robertj
69 * Nucleus++ port (incomplete).
71 * Revision 1.21 1999/08/17 03:46:40 robertj
72 * Fixed usage of inlines in optimised version.
74 * Revision 1.20 1999/06/17 13:38:11 robertj
75 * Fixed race condition on indirect channel close, mutex needed in PIndirectChannel.
77 * Revision 1.19 1999/06/13 13:54:07 robertj
78 * Added PConsoleChannel class for access to stdin/stdout/stderr.
80 * Revision 1.18 1998/11/30 22:08:56 robertj
81 * Fixed backslash in #include
83 * Revision 1.17 1998/11/30 02:50:43 robertj
84 * New directory structure
86 * Revision 1.16 1998/10/31 12:46:57 robertj
87 * Renamed file for having general thread synchronisation objects.
89 * Revision 1.15 1998/09/23 06:19:52 robertj
90 * Added open source copyright license.
92 * Revision 1.14 1998/05/30 13:25:00 robertj
93 * Added PSyncPointAck class.
95 * Revision 1.13 1998/03/20 03:16:10 robertj
96 * Added special classes for specific sepahores, PMutex and PSyncPoint.
98 * Revision 1.12 1996/09/14 13:09:16 robertj
99 * Major upgrade:
100 * rearranged sockets to help support IPX.
101 * added indirect channel class and moved all protocols to descend from it,
102 * separating the protocol from the low level byte transport.
104 * Revision 1.11 1996/08/08 10:08:40 robertj
105 * Directory structure changes for common files.
107 * Revision 1.10 1996/05/23 09:57:24 robertj
108 * Changed process.h to pprocess.h to avoid name conflict.
110 * Revision 1.9 1995/07/31 12:06:21 robertj
111 * Added semaphore class.
113 * Revision 1.8 1995/03/12 04:44:56 robertj
114 * Added dynamic link libraries.
116 * Revision 1.7 1994/09/25 10:43:57 robertj
117 * Added pipe channel.
119 * Revision 1.6 1994/08/23 11:32:52 robertj
120 * Oops
122 * Revision 1.5 1994/08/22 00:46:48 robertj
123 * Added pragma fro GNU C++ compiler.
125 * Revision 1.4 1994/07/25 03:36:03 robertj
126 * Added sockets to common, normalising to same comment standard.
128 * Revision 1.3 1994/07/21 12:17:41 robertj
129 * Sockets.
131 * Revision 1.2 1994/06/25 12:27:39 robertj
132 * *** empty log message ***
134 * Revision 1.1 1994/04/01 14:38:42 robertj
135 * Initial revision
139 #ifndef _PTLIB_H
140 #define _PTLIB_H
142 #ifdef __GNUC__
144 #pragma interface
146 #if !defined(__USE_STD__) && __GNUC__ >= 3
147 #define __USE_STD__
148 #endif
150 #endif
152 #ifdef __NUCLEUS_PLUS__
153 #include "nucpp.h"
154 #endif
156 #ifdef __USE_STD__
157 //using namespace std;
158 #endif
160 #include "ptbuildopts.h"
161 #include <ptlib/contain.h>
163 ///////////////////////////////////////////////////////////////////////////////
164 // PTime
166 #include <ptlib/ptime.h>
169 ///////////////////////////////////////////////////////////////////////////////
170 // PTimeInterval
172 #include <ptlib/timeint.h>
175 ///////////////////////////////////////////////////////////////////////////////
176 // PTimer
178 #include <ptlib/timer.h>
181 ///////////////////////////////////////////////////////////////////////////////
182 // PDirectory
184 #include <ptlib/pdirect.h>
187 ///////////////////////////////////////////////////////////////////////////////
188 // PFilePath
190 #include <ptlib/filepath.h>
193 ///////////////////////////////////////////////////////////////////////////////
194 // PConfig
196 #include <ptlib/config.h>
199 ///////////////////////////////////////////////////////////////////////////////
200 // PArgList
202 #include <ptlib/args.h>
205 ///////////////////////////////////////////////////////////////////////////////
206 // PThread
208 #include <ptlib/thread.h>
211 ///////////////////////////////////////////////////////////////////////////////
212 // PProcess
214 //#include <ptlib/pprocess.h>
217 ///////////////////////////////////////////////////////////////////////////////
218 // PSemaphore
220 #include <ptlib/semaphor.h>
223 ///////////////////////////////////////////////////////////////////////////////
224 // PMutex
226 #include <ptlib/mutex.h>
229 ///////////////////////////////////////////////////////////////////////////////
230 // PSyncPoint
232 #include <ptlib/syncpoint.h>
235 ///////////////////////////////////////////////////////////////////////////////
236 // PSyncPointAck, PCondMutex etc
238 #include <ptlib/syncthrd.h>
241 ///////////////////////////////////////////////////////////////////////////////
242 // PFactory
244 //#include <ptlib/pfactory.h>
247 ///////////////////////////////////////////////////////////////////////////////
248 // PSharedPtr
250 #include <ptlib/psharedptr.h>
252 ///////////////////////////////////////////////////////////////////////////////
253 // PDynaLink
255 #include <ptlib/dynalink.h>
258 ///////////////////////////////////////////////////////////////////////////////
259 // PChannel
261 //#include <ptlib/channel.h>
264 ///////////////////////////////////////////////////////////////////////////////
265 // PIndirectChannel
267 #include <ptlib/indchan.h>
270 ///////////////////////////////////////////////////////////////////////////////
271 // PFile
273 #include <ptlib/file.h>
276 ///////////////////////////////////////////////////////////////////////////////
277 // PTextFile
279 #include <ptlib/textfile.h>
282 ///////////////////////////////////////////////////////////////////////////////
283 // PStructuredFile
285 #include <ptlib/sfile.h>
288 ///////////////////////////////////////////////////////////////////////////////
289 // PConsoleChannel
291 #include <ptlib/conchan.h>
294 ///////////////////////////////////////////////////////////////////////////////
295 // PluginManager
297 //#include <ptlib/pluginmgr.h>
299 ///////////////////////////////////////////////////////////////////////////////
300 // PSound
302 //#include <ptlib/sound.h>
305 ///////////////////////////////////////////////////////////////////////////////
306 // PVideoChannel
308 //#include <ptlib/video.h>
311 ///////////////////////////////////////////////////////////////////////////////
314 #if P_USE_INLINES
316 #ifdef _WIN32
317 #include <ptlib/msos/ptlib/ptlib.inl>
318 #else
319 #include <ptlib/unix/ptlib/ptlib.inl>
320 #endif
321 #include <ptlib/osutil.inl>
323 #endif
325 #endif // _PTLIB_H
328 // End Of File ///////////////////////////////////////////////////////////////