*** empty log message ***

git-svn-id: http://yate.null.ro/svn/yate/trunk@756 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2006-04-18 23:24:19 +00:00
parent 949c3c2480
commit cb5d4ed539
1 changed files with 70 additions and 29 deletions

View File

@ -49,7 +49,10 @@ namespace TelEngine {
class SignallingEngine;
class SignallingReceiver;
class SS7Layer3;
class SCCPUser;
class SS7MTP3;
class SS7TCAP;
class ISDNLayer3;
/**
* Interface to an abstract signalling component that is managed by an engine.
@ -61,12 +64,12 @@ class YSS7_API SignallingComponent : public GenObject
friend class SignallingEngine;
public:
/**
* Destructor
* Destructor, detaches the engine and other components
*/
virtual ~SignallingComponent();
/**
* Get the @ref SignallingEngine that manages this component
* Get the @ref TelEngine::SignallingEngine that manages this component
* @return Pointer to engine or NULL if not managed by an engine
*/
inline SignallingEngine* engine() const
@ -206,6 +209,20 @@ class YSS7_API ASPUser
*/
class YSS7_API SCCP
{
public:
/**
* Destructor
*/
virtual ~SCCP();
/**
* Attach an user to this SS7 SCCP
* @param sccp Pointer to the SCCP user
*/
virtual void attach(SCCPUser* user);
protected:
ObjList m_users;
};
/**
@ -214,6 +231,12 @@ class YSS7_API SCCP
*/
class YSS7_API SCCPUser
{
public:
/**
* Attach as user to a SS7 SCCP
* @param sccp Pointer to the SCCP to use
*/
virtual void attach(SCCP* sccp);
};
/**
@ -222,6 +245,15 @@ class YSS7_API SCCPUser
*/
class YSS7_API TCAPUser
{
public:
/**
* Attach as user to a SS7 TCAP
* @param tcap Pointer to the TCAP to use
*/
void attach(SS7TCAP* tcap);
protected:
SS7TCAP* m_tcap;
};
/**
@ -232,13 +264,20 @@ class YSS7_API SS7Layer2 : virtual public SignallingComponent
{
public:
/**
* Attach a SS7 Layer 3 (network) to the data link
* @param link Pointer to network to attach
* Attach a SS7 MTP3 (network) to the data link
* @param mtp3 Pointer to network to attach
*/
void attach(SS7Layer3* network);
void attach(SS7MTP3* mtp3);
/**
* Get the MTP3 network that works with this data link
* @return Pointer to the SS7MTP3 to which the messages are sent
*/
inline SS7MTP3* mtp3() const
{ return m_mtp3; }
protected:
SS7Layer3* m_network;
SS7MTP3* m_mtp3;
};
/**
@ -257,22 +296,6 @@ class YSS7_API SS7Layer4 : virtual public SignallingComponent
{
};
/**
* An interface to a Layer 2 (Q.921) ISDN message transport
* @short Abstract ISDN layer 2 (Q.921) message transport
*/
class YSS7_API ISDNLayer2 : virtual public SignallingComponent
{
};
/**
* An interface to a Layer 3 (Q.931) ISDN message transport
* @short Abstract ISDN layer 3 (Q.931) message transport
*/
class YSS7_API ISDNLayer3 : virtual public SignallingComponent
{
};
/**
* RFC4165 SS7 Layer 2 implementation over SCTP/IP
* @short SIGTRAN MTP2 User Peer-to-Peer Adaptation Layer
@ -368,12 +391,6 @@ class YSS7_API SS7SUA : public SIGTRAN, public SCCP
*/
class YSS7_API SS7ASP : public SCCPUser, virtual public SignallingComponent
{
/**
* Attach a SS7 SCCP to the ASP
* @param sccp Pointer to the SCCP to attach
*/
void attach(SCCP* sccp);
private:
ObjList m_sccps;
};
@ -392,6 +409,30 @@ class YSS7_API SS7TCAP : public ASPUser, virtual public SignallingComponent
};
// The following classes are ISDN, not SS7, but they use the same signalling
// interfaces so they will remain here
/**
* An interface to a Layer 2 (Q.921) ISDN message transport
* @short Abstract ISDN layer 2 (Q.921) message transport
*/
class YSS7_API ISDNLayer2 : virtual public SignallingComponent
{
/**
* Attach an ISDN Q.931 call control
* @param user Pointer to the Q.931 call control to attach
*/
void attach(ISDNLayer3* q931);
};
/**
* An interface to a Layer 3 (Q.931) ISDN message transport
* @short Abstract ISDN layer 3 (Q.931) message transport
*/
class YSS7_API ISDNLayer3 : virtual public SignallingComponent
{
};
/**
*
* @short ISDN Q.921 implementation on top of a hardware interface