sipXcallLib home page


PtDefs.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 SIPfoundry Inc.
3 // Licensed by SIPfoundry under the LGPL license.
4 //
5 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
6 // Licensed to SIPfoundry under a Contributor Agreement.
7 //
8 // $$
10 
11 
12 #ifndef _PtDefs_h_
13 #define _PtDefs_h_
14 
15 // SYSTEM INCLUDES
16 #include <string.h>
17 
18 // APPLICATION INCLUDES
19 #include "os/OsDefs.h"
20 
21 // DEFINES
22 //#define PTAPI_TEST
23 
24 // MACROS
25 
26 // EXTERNAL FUNCTIONS
27 // EXTERNAL VARIABLES
28 // CONSTANTS
29 #ifdef LONG_EVENT_RESPONSE_TIMEOUTS
30 # define PT_CONST_EVENT_WAIT_TIMEOUT 2592000 // 30 days in seconds
31 #else
32 # define PT_CONST_EVENT_WAIT_TIMEOUT 40 // time out, seconds
33 #endif
34 
35 // STRUCTS
36 // TYPEDEFS
37 #undef PTAPI_DEBUG_TRACE
38 
39 #ifdef PTAPI_DEBUG_TRACE
40 #define EVENT_TRACE(x) osPrintf(x)
41 #else
42 #define EVENT_TRACE(x) //* osPrintf(x) *//
43 #endif
44 
45 // FORWARD DECLARATIONS
46 
47 //:Status codes returned by Pingtel API methods.
48 
50 {
69 };
70 
71 typedef int PtBoolean;
72 
73 #define PT_CLASS_INFO_MEMBERS static const char* sClassName;
74 #define PT_NO_PARENT_CLASS
75 #define PT_IMPLEMENT_CLASS_INFO(CHILD, PARENT) \
76 const char* CHILD::sClassName = #CHILD; \
77 PtBoolean isInstanceOf(const char* name); \
78 \
79 const char* CHILD::className() { return(sClassName);} \
80 \
81 PtBoolean CHILD::isClass(const char* name) { return(strcmp(name, className()) == 0);} \
82 \
83 PtBoolean CHILD::isInstanceOf(const char* name) \
84 {\
85  PtBoolean isInstance = isClass(name); \
86  if(!isInstance) isInstance = PARENT::isInstanceOf(name); \
87  return(isInstance); \
88 }
89 
90 /* ============================ INLINE METHODS ============================ */
91 
92 #endif // _PtDefs_h_
PtStatus
Definition: PtDefs.h:49
Definition: PtDefs.h:54
int PtBoolean
Definition: PtDefs.h:71
Definition: PtDefs.h:53
Definition: PtDefs.h:63
Definition: PtDefs.h:59
Definition: PtDefs.h:56
Definition: PtDefs.h:51
Definition: PtDefs.h:57
Definition: PtDefs.h:64
Definition: PtDefs.h:68
Definition: PtDefs.h:61
Definition: PtDefs.h:62
Definition: PtDefs.h:58
Definition: PtDefs.h:66
Definition: PtDefs.h:67
Definition: PtDefs.h:52
Definition: PtDefs.h:65
Definition: PtDefs.h:55
Definition: PtDefs.h:60