|
Public Types |
enum | Error {
Confirmed,
Rejected,
NoResponse,
NoServiceRelationship,
ServiceRelationshipReestablished
} |
enum | { LocalServiceRelationshipOrdinal = 0,
NoServiceRelationshipOrdinal = 1,
RemoteServiceRelationshipOrdinal = 2
} |
Public Member Functions |
PSafePtr< H323PeerElementDescriptor > | GetFirstDescriptor (PSafetyMode mode=PSafeReference) |
PSafePtr< H323PeerElementServiceRelationship > | GetFirstLocalServiceRelationship (PSafetyMode mode=PSafeReference) |
PSafePtr< H323PeerElementServiceRelationship > | GetFirstRemoteServiceRelationship (PSafetyMode mode=PSafeReference) |
void | SetLocalName (const PString &name) |
PString | GetLocalName () const |
void | SetDomainName (const PString &name) |
PString | GetDomainName () const |
BOOL | SetOnlyServiceRelationship (const PString &peer, BOOL keepTrying=TRUE) |
BOOL | AddServiceRelationship (const H323TransportAddress &peer, BOOL keepTrying=TRUE) |
BOOL | AddServiceRelationship (const H323TransportAddress &peer, OpalGloballyUniqueID &serviceID, BOOL keepTrying=TRUE) |
BOOL | RemoveServiceRelationship (const OpalGloballyUniqueID &serviceID, int reason=H501_ServiceReleaseReason::e_terminated) |
BOOL | RemoveServiceRelationship (const H323TransportAddress &peer, int reason=H501_ServiceReleaseReason::e_terminated) |
BOOL | RemoveAllServiceRelationships () |
Error | ServiceRequestByAddr (const H323TransportAddress &peer) |
Error | ServiceRequestByAddr (const H323TransportAddress &peer, OpalGloballyUniqueID &serviceID) |
Error | ServiceRequestByID (OpalGloballyUniqueID &serviceID) |
BOOL | ServiceRelease (const OpalGloballyUniqueID &serviceID, unsigned reason) |
BOOL | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const PStringArray &aliases, const H323TransportAddressArray &transportAddrs, unsigned options=H323PeerElementDescriptor::Protocol_H323, BOOL now=FALSE) |
BOOL | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const H225_ArrayOf_AliasAddress &aliases, const H323TransportAddressArray &transportAddrs, unsigned options=H323PeerElementDescriptor::Protocol_H323, BOOL now=FALSE) |
BOOL | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const H225_ArrayOf_AliasAddress &aliases, const H225_ArrayOf_AliasAddress &transportAddr, unsigned options=H323PeerElementDescriptor::Protocol_H323, BOOL now=FALSE) |
BOOL | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const POrdinalKey &creator, const H225_ArrayOf_AliasAddress &alias, const H225_ArrayOf_AliasAddress &transportAddresses, unsigned options=H323PeerElementDescriptor::Protocol_H323, BOOL now=FALSE) |
BOOL | AddDescriptor (const OpalGloballyUniqueID &descriptorID, const POrdinalKey &creator, const H501_ArrayOf_AddressTemplate &addressTemplates, const PTime &updateTime, BOOL now=FALSE) |
BOOL | DeleteDescriptor (const PString &alias, BOOL now=FALSE) |
BOOL | DeleteDescriptor (const H225_AliasAddress &alias, BOOL now=FALSE) |
BOOL | DeleteDescriptor (const OpalGloballyUniqueID &descriptorID, BOOL now=FALSE) |
BOOL | AccessRequest (const PString &searchAlias, PStringArray &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323) |
BOOL | AccessRequest (const PString &searchAlias, H225_ArrayOf_AliasAddress &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323) |
BOOL | AccessRequest (const H225_AliasAddress &searchAlias, H225_ArrayOf_AliasAddress &destAliases, H323TransportAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323) |
BOOL | AccessRequest (const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &destAliases, H225_AliasAddress &transportAddress, unsigned options=H323PeerElementDescriptor::Protocol_H323) |
BOOL | UpdateDescriptor (H323PeerElementDescriptor *descriptor) |
BOOL | UpdateDescriptor (H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType) |
Error | SendUpdateDescriptorByID (const OpalGloballyUniqueID &serviceID, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType) |
Error | SendUpdateDescriptorByAddr (const H323TransportAddress &peer, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType) |
Error | SendAccessRequestByID (const OpalGloballyUniqueID &peerID, H501PDU &request, H501PDU &confirmPDU) |
Error | SendAccessRequestByAddr (const H323TransportAddress &peerAddr, H501PDU &request, H501PDU &confirmPDU) |
BOOL | MakeRequest (H323_AnnexG::Request &request) |
virtual void | OnAddServiceRelationship (const H323TransportAddress &) |
virtual void | OnRemoveServiceRelationship (const H323TransportAddress &) |
virtual void | OnNewDescriptor (const H323PeerElementDescriptor &) |
virtual void | OnUpdateDescriptor (const H323PeerElementDescriptor &) |
virtual void | OnRemoveDescriptor (const H323PeerElementDescriptor &) |
virtual H323Transaction::Response | OnServiceRequest (H501ServiceRequest &info) |
virtual H323Transaction::Response | OnDescriptorUpdate (H501DescriptorUpdate &info) |
virtual H323Transaction::Response | OnAccessRequest (H501AccessRequest &info) |
BOOL | OnReceiveServiceRequest (const H501PDU &pdu, const H501_ServiceRequest &pduBody) |
BOOL | OnReceiveServiceConfirmation (const H501PDU &pdu, const H501_ServiceConfirmation &pduBody) |
BOOL | OnReceiveDescriptorUpdate (const H501PDU &pdu, const H501_DescriptorUpdate &pduBody) |
BOOL | OnReceiveDescriptorUpdateACK (const H501PDU &pdu, const H501_DescriptorUpdateAck &pduBody) |
BOOL | OnReceiveAccessRequest (const H501PDU &pdu, const H501_AccessRequest &pduBody) |
BOOL | OnReceiveAccessConfirmation (const H501PDU &pdu, const H501_AccessConfirmation &pduBody) |
BOOL | OnReceiveAccessRejection (const H501PDU &pdu, const H501_AccessRejection &pduBody) |
|
| H323PeerElement (H323EndPoint &endpoint, H323Transport *transport=NULL) |
| H323PeerElement (H323EndPoint &endpoint, const H323TransportAddress &addr) |
| ~H323PeerElement () |
|
void | PrintOn (ostream &strm) const |
Protected Member Functions |
void | Construct () |
Error | SendUpdateDescriptor (H501PDU &pdu, const H323TransportAddress &peer, H323PeerElementDescriptor *descriptor, H501_UpdateInformation_updateType::Choices updateType) |
BOOL | OnRemoteServiceRelationshipDisappeared (OpalGloballyUniqueID &serviceID, const H323TransportAddress &peer) |
void | InternalRemoveServiceRelationship (const H323TransportAddress &peer) |
H323Transaction::Response | HandleServiceRequest (H501ServiceRequest &info) |
virtual H323PeerElementDescriptor * | CreateDescriptor (const OpalGloballyUniqueID &descriptorID) |
virtual H323PeerElementServiceRelationship * | CreateServiceRelationship () |
virtual AliasKey * | CreateAliasKey (const H225_AliasAddress &alias, const OpalGloballyUniqueID &id, PINDEX pos, BOOL wild=FALSE) |
void | RemoveDescriptorInformation (const H501_ArrayOf_AddressTemplate &addressTemplates) |
| PDECLARE_NOTIFIER (PThread, H323PeerElement, MonitorMain) |
| PDECLARE_NOTIFIER (PThread, H323PeerElement, UpdateAllDescriptors) |
| PDECLARE_NOTIFIER (PTimer, H323PeerElement, TickleMonitor) |
| PDICTIONARY (StringToOrdinalKey, PString, POrdinalKey) |
| PSORTED_LIST (AliasKeyList, H225_AliasAddress) |
Protected Attributes |
PMutex | localNameMutex |
PString | localIdentifier |
PString | domainName |
PSemaphore | requestMutex |
PThread * | monitor |
BOOL | monitorStop |
PSyncPoint | monitorTickle |
PMutex | basePeerOrdinalMutex |
PINDEX | basePeerOrdinal |
PSafeSortedList< H323PeerElementServiceRelationship > | localServiceRelationships |
PMutex | localPeerListMutex |
POrdinalSet | localServiceOrdinals |
PMutex | remotePeerListMutex |
PSafeSortedList< H323PeerElementServiceRelationship > | remoteServiceRelationships |
PStringToString | remotePeerAddrToServiceID |
StringToOrdinalKey | remotePeerAddrToOrdinalKey |
PSafeSortedList< H323PeerElementDescriptor > | descriptors |
PMutex | aliasMutex |
AliasKeyList | transportAddressToDescriptorID |
AliasKeyList | specificAliasToDescriptorID |
AliasKeyList | wildcardAliasToDescriptorID |
Classes |
class | AliasKey |