sipXcallLib home page


PresenceDialInServer.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 #ifndef _PresenceDialInServer_h_
12 #define _PresenceDialInServer_h_
13 
14 // SYSTEM INCLUDES
15 
16 // APPLICATION INCLUDES
17 #include <os/OsBSem.h>
18 #include <net/StateChangeNotifier.h>
19 #include <tao/TaoAdaptor.h>
20 #include <utl/UtlHashMap.h>
21 
22 // DEFINES
23 // MACROS
24 // EXTERNAL FUNCTIONS
25 // EXTERNAL VARIABLES
26 // CONSTANTS
27 // STRUCTS
28 // TYPEDEFS
29 
30 // FORWARD DECLARATIONS
31 class CallManager;
32 class TaoString;
33 
41 {
42 /* //////////////////////////// PUBLIC //////////////////////////////////// */
43 public:
44 /* ============================ CREATORS ================================== */
45 
47  PresenceDialInServer(CallManager* callMgr, UtlString& configFile);
48 
50  virtual ~PresenceDialInServer();
51 
52 /* ============================ MANIPULATORS ============================== */
53 
54  virtual UtlBoolean handleMessage(OsMsg& eventMessage);
55 
56 /* ============================ ACCESSORS ================================= */
57 
59  void addStateChangeNotifier(const char* fileUrl, StateChangeNotifier* notifier);
60 
62  void removeStateChangeNotifier(const char* fileUrl);
63 
64 /* ============================ INQUIRY =================================== */
65 
66 
67 /* //////////////////////////// PROTECTED ///////////////////////////////// */
68 protected:
69  void dumpTaoMessageArgs(unsigned char eventId, TaoString& args);
70 
71 /* //////////////////////////// PRIVATE /////////////////////////////////// */
72 private:
73 
74  void parseConfig(UtlString& configFile);
75 
76  bool notifyStateChange(UtlString& contact, bool signIn);
77 
79  OsBSem mLock;
80 
81  UtlString mSignInFC;
82  UtlString mSignOutFC;
83 
86  UtlString mErrorAudio;
87 
88  OsMsgQ* mpIncomingQ;
89 
90  UtlHashMap mCalls;
91  UtlHashMap mStateChangeNotifiers;
92 };
93 
94 /* ============================ INLINE METHODS ============================ */
95 
96 #endif // _PresenceDialInServer_h_
void removeStateChangeNotifier(const char *fileUrl)
Unregistered a StateChangeNotifier.
Definition: PresenceDialInServer.cpp:298
UtlHashMap mStateChangeNotifiers
Definition: PresenceDialInServer.h:91
UtlString mSignOutConfirmationAudio
Definition: PresenceDialInServer.h:85
UtlString mSignInFC
Definition: PresenceDialInServer.h:81
virtual ~PresenceDialInServer()
Destructor.
Definition: PresenceDialInServer.cpp:107
OsMsgQ * mpIncomingQ
Definition: PresenceDialInServer.h:88
Abstract event handler for processing call management event.
Definition: TaoAdaptor.h:41
void addStateChangeNotifier(const char *fileUrl, StateChangeNotifier *notifier)
Registered a StateChangeNotifier.
Definition: PresenceDialInServer.cpp:289
UtlString mSignOutFC
Sign in feature code.
Definition: PresenceDialInServer.h:82
Definition: CallManager.h:69
A PresenceDialInServer is an object that allows an extension to sign in and sign off to a ACD queue b...
Definition: PresenceDialInServer.h:40
void dumpTaoMessageArgs(unsigned char eventId, TaoString &args)
Definition: PresenceDialInServer.cpp:311
OsBSem mLock
Definition: PresenceDialInServer.h:79
Definition: TaoString.h:24
UtlHashMap mCalls
Definition: PresenceDialInServer.h:90
CallManager * mpCallManager
Definition: PresenceDialInServer.h:78
UtlString mErrorAudio
Definition: PresenceDialInServer.h:86
virtual UtlBoolean handleMessage(OsMsg &eventMessage)
Handle an incoming message.
Definition: PresenceDialInServer.cpp:118
bool notifyStateChange(UtlString &contact, bool signIn)
Definition: PresenceDialInServer.cpp:324
PresenceDialInServer(CallManager *callMgr, UtlString &configFile)
Constructor.
Definition: PresenceDialInServer.cpp:88
UtlString mSignInConfirmationAudio
Sign out feature code.
Definition: PresenceDialInServer.h:84
void parseConfig(UtlString &configFile)
Definition: PresenceDialInServer.cpp:354