sipxtacklib  Version 3.3
SipPimClient.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005 SIPez LLC.
3 // Licensed to SIPfoundry under a Contributor Agreement.
4 //
5 // Copyright (C) 2004 SIPfoundry Inc.
6 // Licensed by SIPfoundry under the LGPL license.
7 //
8 // Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
9 // Licensed to SIPfoundry under a Contributor Agreement.
10 //
11 // $$
13 // Author: Daniel Petrie (dpetrie AT SIPez DOTcom)
14 
15 
16 #ifndef _SipPimClient_h_
17 #define _SipPimClient_h_
18 
19 // SYSTEM INCLUDES
20 //#include <...>
21 
22 // APPLICATION INCLUDES
23 #include <os/OsServerTask.h>
24 #include <utl/UtlString.h>
25 #include <net/Url.h>
26 
27 // DEFINES
28 // MACROS
29 // EXTERNAL FUNCTIONS
30 // EXTERNAL VARIABLES
31 // CONSTANTS
32 // STRUCTS
33 // TYPEDEFS
34 // FORWARD DECLARATIONS
35 class SipUserAgent;
36 class SipMessage;
37 
38 // Author: Daniel Petrie
39 // dgpetrie AT yahoo DOT com
40 //
42 
64 class SipPimClient : public OsServerTask
65 {
66 /* //////////////////////////// PUBLIC //////////////////////////////////// */
67 public:
68 
69  typedef enum
70  {
71  invalid = -1,
75 
76  typedef void (*MessageCallback)(void* userData, const UtlString& fromAddress, const char* textMessage, int textLength, const char* subject, const SipMessage& messageRequest);
77 /* ============================ CREATORS ================================== */
78 
80 
86  SipPimClient(SipUserAgent& userAgent, Url& presentityAor);
87 
89  virtual
90  ~SipPimClient();
91 
92 /* ============================ MANIPULATORS ============================== */
93 
95 
103  void setLocalKeyCert(const char* localPkcs12DerKeyCert,
104  int localPkcs12DerKeyCertLength,
105  const char* sPkcs12Password);
106 
108 
113  void setRemoteCertificate(const char* derFormatCertificate,
114  int derFormatCertificateLength);
115 
117 
125  UtlBoolean sendPagerMessage(Url& destinationAor,
126  const char* messageText, const char* subject,
127  int& responseCode,
128  UtlString& responseCodeText);
129 
131 
139  void setIncomingImTextHandler(MessageCallback callback, void* userData);
140 
142 
148  UtlBoolean updatePresenceState(SipxRpidStates newState);
149 
151 
154  UtlBoolean handleMessage(OsMsg& eventMessage);
155 
156 /* ============================ ACCESSORS ================================= */
157 
158 
159 /* ============================ INQUIRY =================================== */
160 
161 
162 /* //////////////////////////// PROTECTED ///////////////////////////////// */
163 protected:
164 
166  void getNextCallId(UtlString& callId);
167 
168 /* //////////////////////////// PRIVATE /////////////////////////////////// */
169 private:
170 
171 
173  SipPimClient(const SipPimClient& rSipPimClient);
174 
176  SipPimClient& operator=(const SipPimClient& rhs);
177 
178  int mCallIdIndex;
179  Url mPresentityAor;
180  UtlString mFromField;
181  SipUserAgent* mpUserAgent;
182 
183  MessageCallback mpTextHandlerFunction;
184  void* mpTextHandlerUserData;
185 
186  UtlString mPkcs12KeyCertContainer;
187  UtlString mPkcs12Password;
188  UtlString mDerRemoteCertificate;
189 
190 };
191 
192 /* ============================ INLINE METHODS ============================ */
193 
194 #endif // _SipPimClient_h_
UtlBoolean sendPagerMessage(Url &destinationAor, const char *messageText, const char *subject, int &responseCode, UtlString &responseCodeText)
Send a pager style instant message to the given destination.
Definition: SipPimClient.cpp:108
SipxRpidStates
Definition: SipPimClient.h:69
Transaction and Transport manager for SIP stack.
Definition: SipUserAgent.h:157
Definition: SipPimClient.h:71
Client for SIP Presence and Instant Messaging.
Definition: SipPimClient.h:64
UtlBoolean updatePresenceState(SipxRpidStates newState)
Update the presence state of the presentity indicate.
Definition: SipPimClient.cpp:201
virtual ~SipPimClient()
Destructor.
Definition: SipPimClient.cpp:68
Definition: SipPimClient.h:73
UtlBoolean handleMessage(OsMsg &eventMessage)
Handler for incoming SIP messages.
Definition: SipPimClient.cpp:207
Specialization of HttpMessage to contain and manipulate SIP messages.
Definition: SipMessage.h:343
void setIncomingImTextHandler(MessageCallback callback, void *userData)
Set callback function for incoming pager mode text messages.
Definition: SipPimClient.cpp:193
void getNextCallId(UtlString &callId)
Call Id generator for SipPimClient.
Definition: SipPimClient.cpp:336
Definition: SipPimClient.h:72
void(* MessageCallback)(void *userData, const UtlString &fromAddress, const char *textMessage, int textLength, const char *subject, const SipMessage &messageRequest)
Definition: SipPimClient.h:76
void setRemoteCertificate(const char *derFormatCertificate, int derFormatCertificateLength)
Set the certificate containing the public key for the remote side.
void setLocalKeyCert(const char *localPkcs12DerKeyCert, int localPkcs12DerKeyCertLength, const char *sPkcs12Password)
Set the Private key and Certificate for the local side.
Definition: SipPimClient.cpp:75
SipPimClient(SipUserAgent &userAgent, Url &presentityAor)
Constructor.
Definition: SipPimClient.cpp:40
URL parser and constructor.
Definition: Url.h:90

sipXtackLib home page