sipxtacklib  Version 3.3
SipNotifyStateTask.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 _SipNotifyStateTask_h_
13 #define _SipNotifyStateTask_h_
14 
15 // SYSTEM INCLUDES
16 //#include <...>
17 
18 // APPLICATION INCLUDES
19 #include <os/OsServerTask.h>
20 #include <os/OsDefs.h>
21 
22 // DEFINES
23 // MACROS
24 // EXTERNAL FUNCTIONS
25 // EXTERNAL VARIABLES
26 // CONSTANTS
27 // STRUCTS
28 // TYPEDEFS
29 // FORWARD DECLARATIONS
30 class SipUserAgent;
31 class SipMessage;
32 class CommandSecurityPolicy;
33 class OsQueuedEvent;
34 class OsTimer;
35 
36 //:Class short description which may consist of multiple lines (note the ':')
37 // Class detailed description which may extend to multiple lines
38 class SipNotifyStateTask : public OsServerTask
39 {
40 /* //////////////////////////// PUBLIC //////////////////////////////////// */
41 public:
42 
43  static void defaultReboot();
44 
45  static void defaultBinaryMessageWaiting(const char* toUrl,
46  UtlBoolean newMessages);
47 
48  static void defaultDetailMessageWaiting(const char* toUrl,
49  const char* messageMediaType,
50  UtlBoolean absoluteValues,
51  int totalNewMessages,
52  int totalOldMessages,
53  int totalUntouchedMessages,
54  int urgentUntouchedMessages,
55  int totalSkippedMessages,
56  int urgentSkippedMessages,
57  int totalFlaggedMessages,
58  int urgentFlaggedMessages,
59  int totalReadMessages,
60  int urgentReadMessages,
61  int totalAnsweredMessages,
62  int urgentAnsweredMessages,
63  int totalDeletedMessages,
64  int urgentDeletedMessages);
65  // totalNewMessages and totalOldMessages are summary totals
66  // accross all other categories.
69  // If these are absolute values negative number for a message count means unspecified
70  // If these are deltas there is know way to know if the values are not set
71 
72 
73 /* ============================ CREATORS ================================== */
74 
75  SipNotifyStateTask(const UtlString& checkSyncPolicy, SipUserAgent* pSipUserAgent = NULL);
76  //:Default constructor
77 
78  virtual
80  //:Destructor
81 
82 /* ============================ MANIPULATORS ============================== */
83 
84  virtual UtlBoolean handleMessage(OsMsg& eventMessage);
85 
86 /* ============================ ACCESSORS ================================= */
87 
88  void setRebootFunction(void (*rebootNotifyFunction)());
89 
90  void setBinaryMessageWaitingFunction(void (*binaryMessageWaitingFunc)(
91  const char* toUrl,
92  UtlBoolean newMessages));
93 
94  void setDetailMessageWaitingFunction(void (*requestProcessor)(
95  const char* toUrl,
96  const char* messageMediaType,
97  UtlBoolean absoluteValues,
98  int totalNewMessages,
99  int totalOldMessages,
100  int totalUntouchedMessages,
101  int urgentUntouchedMessages,
102  int totalSkippedMessages,
103  int urgentSkippedMessages,
104  int totalFlaggedMessages,
105  int urgentFlaggedMessages,
106  int totalReadMessages,
107  int urgentReadMessages,
108  int totalAnsweredMessages,
109  int urgentAnsweredMessages,
110  int totalDeletedMessages,
111  int urgentDeletedMessages));
112 
113 /* ============================ INQUIRY =================================== */
114 
115 /* //////////////////////////// PROTECTED ///////////////////////////////// */
116 protected:
117 
118  OsStatus handleCheckSyncEvent(const SipMessage* source) ;
119 
120  UtlBoolean scheduleRunScript(UtlString* pContent,
121  CommandSecurityPolicy *pPolicy,
122  int seconds) ;
123 
124  OsStatus doRunScript(UtlString* pContent,
125  CommandSecurityPolicy *pPolicy) ;
126 
127 /* //////////////////////////// PRIVATE /////////////////////////////////// */
128 private:
129 
130  SipUserAgent* mpSipUserAgent;
131  UtlString mCheckSyncPolicy ; // policy for handling check-sync events
132  OsQueuedEvent* mpRunScriptEvent ; // queued event for scripts (if phone is busy)
133  OsTimer* mpRunScriptTimer ; // timer for scripts (if phone is busy)
134 
135  void(*mpRebootFunction)();
136 
137  void(*mpBinaryMessageWaitingFunction)(const char* toUrl,
138  UtlBoolean newMessages);
139 
140  void(*mpDetailedMessageWaitingFunction)(
141  const char* toUrl,
142  const char* messageMediaType,
143  UtlBoolean absoluteValues,
144  int totalNewMessages,
145  int totalOldMessages,
146  int totalUntouchedMessages,
147  int urgentUntouchedMessages,
148  int totalSkippedMessages,
149  int urgentSkippedMessages,
150  int totalFlaggedMessages,
151  int urgentFlaggedMessages,
152  int totalReadMessages,
153  int urgentReadMessages,
154  int totalAnsweredMessages,
155  int urgentAnsweredMessages,
156  int totalDeletedMessages,
157  int urgentDeletedMessages);
158 
159  UtlBoolean getStatusTotalUrgent(const char* status,
160  UtlBoolean absoluteValues,
161  int parameterIndex,
162  int& total,
163  int& urgent);
164 
165  SipNotifyStateTask(const SipNotifyStateTask& rSipNotifyStateTask);
166  //:Copy constructor (disabled)
167 
168  SipNotifyStateTask& operator=(const SipNotifyStateTask& rhs);
169  //:Assignment operator (disabled)
170 
171 };
172 
173 /* ============================ INLINE METHODS ============================ */
174 
175 #endif // _SipNotifyStateTask_h_
Transaction and Transport manager for SIP stack.
Definition: SipUserAgent.h:157
SipNotifyStateTask(const UtlString &checkSyncPolicy, SipUserAgent *pSipUserAgent=NULL)
param: messageMediaType = "Voicemail", "Email", "Fax", "Video", etc param: absoluteValues - the messa...
Definition: SipNotifyStateTask.cpp:117
void setRebootFunction(void(*rebootNotifyFunction)())
Definition: SipNotifyStateTask.cpp:556
static void defaultBinaryMessageWaiting(const char *toUrl, UtlBoolean newMessages)
Definition: SipNotifyStateTask.cpp:57
void setBinaryMessageWaitingFunction(void(*binaryMessageWaitingFunc)(const char *toUrl, UtlBoolean newMessages))
Definition: SipNotifyStateTask.cpp:561
static void defaultDetailMessageWaiting(const char *toUrl, const char *messageMediaType, UtlBoolean absoluteValues, int totalNewMessages, int totalOldMessages, int totalUntouchedMessages, int urgentUntouchedMessages, int totalSkippedMessages, int urgentSkippedMessages, int totalFlaggedMessages, int urgentFlaggedMessages, int totalReadMessages, int urgentReadMessages, int totalAnsweredMessages, int urgentAnsweredMessages, int totalDeletedMessages, int urgentDeletedMessages)
Definition: SipNotifyStateTask.cpp:64
virtual UtlBoolean handleMessage(OsMsg &eventMessage)
Definition: SipNotifyStateTask.cpp:152
Specialization of HttpMessage to contain and manipulate SIP messages.
Definition: SipMessage.h:343
OsStatus handleCheckSyncEvent(const SipMessage *source)
Definition: SipNotifyStateTask.cpp:593
Definition: SipNotifyStateTask.h:38
void setDetailMessageWaitingFunction(void(*requestProcessor)(const char *toUrl, const char *messageMediaType, UtlBoolean absoluteValues, int totalNewMessages, int totalOldMessages, int totalUntouchedMessages, int urgentUntouchedMessages, int totalSkippedMessages, int urgentSkippedMessages, int totalFlaggedMessages, int urgentFlaggedMessages, int totalReadMessages, int urgentReadMessages, int totalAnsweredMessages, int urgentAnsweredMessages, int totalDeletedMessages, int urgentDeletedMessages))
Definition: SipNotifyStateTask.cpp:567
OsStatus doRunScript(UtlString *pContent, CommandSecurityPolicy *pPolicy)
virtual ~SipNotifyStateTask()
Definition: SipNotifyStateTask.cpp:136
static void defaultReboot()
Definition: SipNotifyStateTask.cpp:52
UtlBoolean scheduleRunScript(UtlString *pContent, CommandSecurityPolicy *pPolicy, int seconds)

sipXtackLib home page