sipXcallLib home page


PtComponentGroup.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 _PtComponentGroup_h_
12 #define _PtComponentGroup_h_
13 
14 // SYSTEM INCLUDES
15 
16 // APPLICATION INCLUDES
17 #include "tao/TaoClientTask.h"
18 #include "os/OsBSem.h"
19 #include "os/OsProtectEventMgr.h"
20 
21 // DEFINES
22 // MACROS
23 // EXTERNAL FUNCTIONS
24 // EXTERNAL VARIABLES
25 // CONSTANTS
26 // STRUCTS
27 // TYPEDEFS
28 // FORWARD DECLARATIONS
29 class PtComponent;
30 class TaoReference;
31 class TaoObjectMap;
32 
33 //:PtComponentGroup is a grouping of Component objects. Terminals may be
34 // composed of zero or more ComponentGroups. Applications query the
35 // PhoneTerminal interface for the available ComponentGroups. Then they query
36 // this interface for the components which make up this component group.
38 {
39 /* //////////////////////////// PUBLIC //////////////////////////////////// */
40 public:
41 
43  {
44  HEAD_SET = 1,
50  SOUND, // for splash sound
52  };
53 
54 /* ============================ CREATORS ================================== */
55  PtComponentGroup(int groupType, const UtlString& rDescription,
56  PtComponent* pComponents[], int nItems);
57  //:Constructor
58 
60  //:Default constructor (not implemented for this class)
61 
62  PtComponentGroup(const PtComponentGroup& rPtComponentGroup);
63  //:Copy constructor (not implemented for this class)
64 
66  //:Assignment operator (not implemented for this class)
67 
68  virtual
70  //:Destructor
71 
72 
73 /* ============================ MANIPULATORS ============================== */
74  PtStatus setHandsetVolume(int level);
75 
76  PtStatus setSpeakerVolume(int level);
77 
78  PtStatus setExtSpeakerVolume(int level);
79 
80  PtStatus setRingerVolume(int level);
81 
82 
83  UtlBoolean activate(void);
84  //:Enables the audio apparatus associated with the component group.
85  // Returns TRUE if successful, FALSE if unsuccessful
86 
87  UtlBoolean deactivate(void);
88  //:Disables the audio apparatus associated with the component group.
89  // Returns TRUE if successful, FALSE if unsuccessful
90 
91  void setTaoClient(TaoClientTask *pClient);
92 
93 /* ============================ ACCESSORS ================================= */
94  PtStatus getComponents(PtComponent* pComponents[], int size,
95  int& nItems);
96  //:Returns pointers to the components in this group.
97  // The caller provides an array that can hold up to <i>size</i>
98  // PsTaoComponent pointers. This method fills in the <i>pComponents</i>
99  // array with up to <i>size</i> pointers. The actual number of items
100  // filled in is passed back via the <i>nItems</i> argument.
101  // Returns OS_LIMIT_REACHED if there are more than <i>nItems</i>
102  // components in the group. Otherwise, returns OS_SUCCESS.
103 
104  PtStatus getDescription(char* pDescription, int maxLen);
105  //:Returns a string describing the component group.
106 
107  int getType() { return mGroupType;} ;
108  //:Returns the type of the component group, either HEAD_SET, HAND_SET,
109  //:SPEAKER_PHONE, PHONE_SET or OTHER.
110 
111  PtStatus getHandsetVolume(int& level);
112 
113  PtStatus getSpeakerVolume(int& level);
114 
115  PtStatus getSpeakerNominalVolume(int& level);
116 
117  PtStatus getExtSpeakerVolume(int& level);
118 
120 
121  PtStatus getRingerVolume(int& level);
122 
123 /* ============================ INQUIRY =================================== */
124 
125  UtlBoolean isActivated(void);
126  //:Determine whether the audio apparatus associated with the component
127  //:group is enabled.
128  // Returns TRUE if activated, FALSE if deactivated.
129 
130 /* //////////////////////////// PROTECTED ///////////////////////////////// */
131 friend class PtTerminal;
132 
133 protected:
134  OsTime mTimeOut;
135 
136  void initialize();
137 
138 /* //////////////////////////// PRIVATE /////////////////////////////////// */
139 private:
140  OsProtectEventMgr *mpEventMgr;
142  UtlString mDescription;
144  UtlBoolean mIsActivated;
147 
148  static OsBSem semInit ;
149  //: Binary Semaphore used to guard initialiation and tear down
151  static int mRef;
152 
154 
155 };
156 
157 /* ============================ INLINE METHODS ============================ */
158 
159 #endif // _PtComponentGroup_h_
int getType()
Definition: PtComponentGroup.h:107
Definition: TaoReference.h:35
Definition: PtComponentGroup.h:48
PtStatus
Definition: PtDefs.h:49
int mNumItems
Definition: PtComponentGroup.h:145
UtlBoolean activate(void)
Definition: PtComponentGroup.cpp:309
static TaoReference * mpTransactionCnt
Definition: PtComponentGroup.h:150
Definition: TaoObjectMap.h:56
Definition: PtComponentGroup.h:49
UtlString mDescription
Definition: PtComponentGroup.h:142
Definition: PtComponentGroup.h:50
PtStatus getComponents(PtComponent *pComponents[], int size, int &nItems)
Definition: PtComponentGroup.cpp:414
TaoClientTask * mpClient
Definition: PtComponentGroup.h:146
static int mRef
Definition: PtComponentGroup.h:151
PtComponentGroup()
Definition: PtComponentGroup.cpp:37
int mComponentRef
Definition: PtComponentGroup.h:153
OsProtectEventMgr * mpEventMgr
Definition: PtComponentGroup.h:140
Definition: PtComponent.h:30
PtStatus getDescription(char *pDescription, int maxLen)
Definition: PtComponentGroup.cpp:433
PtComponent ** mpComponents
Definition: PtComponentGroup.h:141
PtStatus setHandsetVolume(int level)
Definition: PtComponentGroup.cpp:217
PtStatus getHandsetVolume(int &level)
Definition: PtComponentGroup.cpp:453
OsTime mTimeOut
Definition: PtComponentGroup.h:134
UtlBoolean mIsActivated
Definition: PtComponentGroup.h:144
Definition: PtComponentGroup.h:46
Definition: PtComponentGroup.h:45
Definition: PtComponentGroup.h:51
PtComponentGroup & operator=(const PtComponentGroup &rhs)
Definition: PtComponentGroup.cpp:177
void initialize()
Definition: PtComponentGroup.cpp:595
static OsBSem semInit
Definition: PtComponentGroup.h:148
UtlBoolean isActivated(void)
PtStatus getExtSpeakerVolume(int &level)
Definition: PtComponentGroup.cpp:522
Definition: PtTerminal.h:178
Definition: PtComponentGroup.h:44
PtComponentGroupType
Definition: PtComponentGroup.h:42
virtual ~PtComponentGroup()
Definition: PtComponentGroup.cpp:150
int mGroupType
Definition: PtComponentGroup.h:143
PtStatus setRingerVolume(int level)
Definition: PtComponentGroup.cpp:286
PtStatus getRingerVolume(int &level)
Definition: PtComponentGroup.cpp:568
PtStatus getSpeakerVolume(int &level)
Definition: PtComponentGroup.cpp:476
PtStatus getExtSpeakerNominalVolume(int &level)
Definition: PtComponentGroup.cpp:545
PtStatus setExtSpeakerVolume(int level)
Definition: PtComponentGroup.cpp:263
Definition: PtComponentGroup.h:47
PtStatus getSpeakerNominalVolume(int &level)
Definition: PtComponentGroup.cpp:499
PtStatus setSpeakerVolume(int level)
Definition: PtComponentGroup.cpp:240
UtlBoolean deactivate(void)
Definition: PtComponentGroup.cpp:361
void setTaoClient(TaoClientTask *pClient)
Definition: PtComponentGroup.cpp:104
Definition: TaoClientTask.h:50
Definition: PtComponentGroup.h:37