h4503types.h
资源名称:h323.zip [点击查看]
上传用户:hnnddl
上传日期:2007-01-06
资源大小:3580k
文件大小:29k
源码类别:
IP电话/视频会议
开发平台:
WINDOWS
- //@DELB
- /*
- * $Revision: 1.1 $
- * $Date: 1998/12/21 16:51:46 $
- */
- ////////////////////////////////////////////////////////////////
- // Copyright (c) 1996 Lucent Technologies //
- // All Rights Reserved //
- // //
- // THIS IS UNPUBLISHED //
- // PROPRIETARY SOURCE //
- // CODE OF Lucent Technologies //
- // AND elemedia //
- // //
- // The copyright notice above does not evidence any //
- // actual or intended publication of such source code //
- ////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////
- // File : h4503items.h //
- // //
- // This file defines the classes for the Item classes used //
- // for H.450.3 Call Diversion Supplementary Service //
- // //
- // History: //
- // 09_Nov_1998 Created //
- // //
- // //
- ////////////////////////////////////////////////////////////////
- #if (!defined(__H4503ITEM_H__))
- #define __H4503ITEM_H__
- #define BMPSTRING_MAX 128
- // Forward declarations
- class ItemBasicService;
- class ItemCallingInfo;
- class ItemDiversionCounter;
- class ItemDiversionReason;
- class ItemDivertedToAddress;
- class ItemNominatedInfo;
- class ItemNominatedNr;
- class ItemOriginalCalledInfo;
- class ItemOriginalCalledNr;
- class ItemProcedure;
- class ItemRedirectingInfo;
- class ItemServedUserNr;
- class ItemSubscriptionOption;
- struct EmCallDiversionExtension;
- struct EmCallDiversionOperationsExtensionSeq;
- struct EmActivateDiversionQArg;
- struct EmDeactivateDiversionQArg;
- struct EmInterrogateDiversionQArg;
- struct EmCheckRestrictionArg;
- struct EmCallReroutingArg;
- struct EmDivertingLegInformation1Arg;
- struct EmDivertingLegInformation2Arg;
- struct EmDivertingLegInformation3Arg;
- struct EmDivertingLegInformation4Arg;
- struct EmIntResult;
- struct EmIntResultList;
- struct EmCallDiversionUnspecifiedParameter;
- //@DELE
- //////////////////////////////////////////////////////
- // Item Classes
- //{///////////////////////////////////////////////////
- /*
- * This is a base class for the Call Diversion argumentExtension
- * and resultExtension field.
- * @Name: ItemCDExt
- * @Description:
- * This base class is derived by most of the H.450.3 argument
- * and result classes. It used to access the extension field
- * in those classes.
- *
- * The GetNumExtensions(), GetExtensionSeq() and GetNonStdData()
- * methods will return a H450_INCONSISTENT_TYPES error if used
- * on the wrong extension type.
- * @Caveats:
- * For incoming arguments and result objects, use the GetType()
- * method first, then the approprite Get method.
- *
- * @See:
- * - most H.450.3 argument & result classes
- */
- class DLLEXPORT ItemCDExt
- {
- protected:
- // Constructor
- ItemCDExt();
- public:
- // Destructor
- virtual ~ItemCDExt();
- // This is to get the extension type.
- // @Name: GetType
- // @Description:
- // Gets the type used in the extension field.
- // A SetType method is not provided because both the
- // AddExtension() and SetNonStdData() methods below set the
- // extension choice prior to setting the specific field.
- // @Returns:
- // -type
- // @See:
- // - enum H4501ExtensionType
- virtual int GetType();
- // This adds an H4501Extension to the call diversion
- // extensionSeq field of the extension.
- // @Name: AddExtension
- // @Description:
- // Add an H4501Extension to the extensionSeq field in
- // the extension.
- // @Arguments:
- // -reference to H4501Extension class with extensionSet data
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode AddExtension(H4501Extension &ext);
- // This gets the the number of H4501Extensions in the extension
- // field
- // @Name: GetNumExtensions
- // @Description:
- // Gets the number of H4501Extensions in the call diversion
- // extensionSeq field of the extension.
- // @Arguments:
- // -reference to int for the list length
- // @Returns:
- // -number of H4501Extensions in the list
- // -ProtReturnCode:
- // -H450_SUCCESS -success
- // -H450_ITEM_NOT_PRESENT -item was not set
- virtual ProtReturnCode GetNumExtensions(int &count);
- // This gets the a list of extensions in the extension field
- // @Name: GetExtensions
- // @Description:
- // Gets the list of H4501Extensions in the call diversion
- // extensionSeq field of the extension.
- // @Arguments:
- // -reference to int for the list length
- // @Returns:
- // -list of H4501Extensions
- // -number of H4501Extensions copied into the list
- // -ProtReturnCode:
- // -H450_SUCCESS -success
- // -H450_ITEM_NOT_PRESENT -item was not set
- // -H450_INCONSISTENT_TYPES -not H4501Extensions
- // @Caveats:
- // Use GetNumExtensions() first
- virtual ProtReturnCode GetExtensions(H4501Extension list[], int &count);
- // This sets the nonStandardData.
- // @Name: SetNonStdData
- // @Description:
- // Sets the H450NonStdParam in the call diversion
- // extension.
- // @Arguments:
- // -reference to H450NonStdParam
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- // @Caveats:
- // Note that the name H450NonStdParam will change to
- // H225CSNonStdParameter in a future release of the stack
- virtual ProtReturnCode SetNonStdData(H450NonStdParam &nsp);
- // This gets the nonStandardData.
- // @Name: GetNonStdData
- // @Description:
- // Gets the H450NonStdParam from the call diversion
- // extension.
- // @Arguments:
- // -reference to H450NonStdParam
- // @Returns:
- // -H450NonStdParam
- // -ProtReturnCode:
- // -H450_SUCCESS -success
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INCONSISTENT_TYPES -not H450NonStdParam
- virtual ProtReturnCode GetNonStdData(H450NonStdParam &nsp);
- //@DELB
- protected:
- EmCallDiversionOperationsExtensionSeq *mExtSeqPtr;
- EmNonStandardParameter *mNonStdPtr;
- void Attach(EmCallDiversionExtension *);
- unsigned short *mExtType;
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the basicService field.
- * @Name: ItemBasicService
- * @Description:
- * Base class for setting and getting the basicService field
- * as specified in H.450.3
- * @Arguments:
- * set takes a int
- * get takes a reference to a int
- * @See:
- * - enum H4503BasicService
- * - H4503IntResult, H4503CDActivateDiversionQArg,
- * H4503CDDeactivateDiversionQArg, H4503CDInterrogateDiversionQArg,
- * H4503CDCheckRestrictionArg
- */
- class DLLEXPORT ItemBasicService
- {
- protected:
- // Constructor
- ItemBasicService();
- public:
- // Destructor
- virtual ~ItemBasicService();
- // This sets the basicService field.
- // @Name: SetBasicService
- // @Description:
- // Sets the basicService field
- // @Arguments:
- // -int with basicService value
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // @See:
- // - enum H4503BasicService
- virtual ProtReturnCode SetBasicService(int);
- // This gets the basicService field.
- // @Name: GetBasicService
- // @Description:
- // Gets the value of the basicService field
- // @Arguments:
- // -reference to int for basicService
- // @Returns:
- // -basicService
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- // @See:
- // - enum H4503BasicService
- virtual ProtReturnCode GetBasicService(int &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- int *mBasicServicePtr;
- // Call Attach in derived class constructor
- void Attach(int *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the callingInfo field.
- * @Name: ItemCallingInfo
- * @Description:
- * Base class for setting and getting the callingInfo field
- * as specified in H.450.3
- * @Arguments:
- * set takes two args
- * - unsigned short *value, and int length (max length = 128)
- * get takes a reference to two args
- * - unsigned short *&value, and int &length
- * @See:
- * - H4503CDCallReroutingArg, H4503CDDivertingLegInformation4Arg
- */
- class DLLEXPORT ItemCallingInfo
- {
- protected:
- // Constructor
- ItemCallingInfo();
- public:
- // Destructor
- virtual ~ItemCallingInfo();
- // This sets the callingInfo field.
- // @Name: SetCallingInfo
- // @Description:
- // Sets the callingInfo field
- // @Arguments:
- // -pointer to unsigned short array
- // -array length
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- ProtReturnCode SetCallingInfo(unsigned short *, int);
- // This gets the callingInfo field.
- // @Name: GetCallingInfo
- // @Description:
- // Gets the array from the callingInfo field
- // @Arguments:
- // -reference to array pointer for callingInfo data
- // -reference to int for callingInfo length
- // @Returns:
- // -pointer to BMP string array and length
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_ITEM_NOT_PRESENT -item not present
- ProtReturnCode GetCallingInfo(unsigned short *&, int &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- EmBMPString128 *mCallingInfoPtr;
- // Call Attach in derived class constructor
- void Attach(EmBMPString128 *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the diversionCounter field.
- * @Name: ItemDiversionCounter
- * @Description:
- * Base class for setting and getting the diversionCounter field
- * as specified in H.450.3
- * @Arguments:
- * set takes a unsigned short
- * get takes a reference to a unsigned short
- * @See:
- * - H4503CDCallReroutingArg, H4503CDDivertingLegInformation2Arg
- */
- class DLLEXPORT ItemDiversionCounter
- {
- protected:
- // Constructor
- ItemDiversionCounter();
- public:
- // Destructor
- virtual ~ItemDiversionCounter();
- // This sets the diversionCounter field.
- // @Name: SetDiversionCounter
- // @Description:
- // Sets the diversionCounter field
- // @Arguments:
- // -unsigned short with diversionCounter value
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- virtual ProtReturnCode SetDiversionCounter(unsigned short);
- // This gets the diversionCounter field.
- // @Name: GetDiversionCounter
- // @Description:
- // Gets the value of the diversionCounter field
- // @Arguments:
- // -reference to unsigned short for diversionCounter
- // @Returns:
- // -diversionCounter
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- virtual ProtReturnCode GetDiversionCounter(unsigned short &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- unsigned short *mDiversionCounterPtr;
- // Call Attach in derived class constructor
- void Attach(unsigned short *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the diversionReason field.
- * @Name: ItemDiversionReason
- * @Description:
- * Base class for setting and getting the diversionReason field
- * as specified in H.450.3
- * @Arguments:
- * set takes a int
- * get takes a reference to a int
- * @See:
- * - enum H4503Reason
- * - H4503CDDivertingLegInformation1Arg,
- * H4503CDDivertingLegInformation2Arg,
- * H4503CDDivertingLegInformation4Arg
- */
- class DLLEXPORT ItemDiversionReason
- {
- protected:
- // Constructor
- ItemDiversionReason();
- public:
- // Destructor
- virtual ~ItemDiversionReason();
- // This sets the diversionReason field.
- // @Name: SetDiversionReason
- // @Description:
- // Sets the diversionReason field
- // @Arguments:
- // -int with diversionReason value
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // @See:
- // - enum H4503Reason
- virtual ProtReturnCode SetDiversionReason(int);
- // This gets the diversionReason field.
- // @Name: GetDiversionReason
- // @Description:
- // Gets the value of the diversionReason field
- // @Arguments:
- // -reference to int for diversionReason
- // @Returns:
- // -diversionReason
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- // @See:
- // - enum H4503Reason
- virtual ProtReturnCode GetDiversionReason(int &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- int *mDiversionReasonPtr;
- // Call Attach in derived class constructor
- void Attach(int *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the divertedToAddress field.
- * @Name: ItemDivertedToAddress
- * @Description:
- * Base class for setting and getting the divertedToAddress field
- * as specified in H.450.3
- * @Arguments:
- * Both set and get take a reference to a H4501EndpointAddr
- * @See:
- * - H4503IntResult, H4503CDActivateDiversionQArg
- */
- class DLLEXPORT ItemDivertedToAddress
- {
- protected:
- // Constructor
- ItemDivertedToAddress();
- public:
- // Destructor
- virtual ~ItemDivertedToAddress();
- // This sets the divertedToAddress field.
- // @Name: SetDivertedToAddress
- // @Description:
- // Sets the divertedToAddress field with an H4501EndpointAddr class
- // @Arguments:
- // -reference to H4501EndpointAddr class with divertedToAddress data
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode SetDivertedToAddress(H4501EndpointAddr &);
- // This gets the divertedToAddress field.
- // @Name: GetDivertedToAddress
- // @Description:
- // Gets an H4501EndpointAddr class from the divertedToAddress field
- // @Arguments:
- // -reference to H4501EndpointAddr class for divertedToAddress data
- // @Returns:
- // -H4501EndpointAddr with divertedToAddress data
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode GetDivertedToAddress(H4501EndpointAddr &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- EmEndpointAddress *mDivertedToAddressPtr;
- // Call Attach in derived class constructor
- void Attach(EmEndpointAddress *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the nominatedInfo field.
- * @Name: ItemNominatedInfo
- * @Description:
- * Base class for setting and getting the nominatedInfo field
- * as specified in H.450.3
- * @Arguments:
- * set takes two args
- * - unsigned short *value, and int length
- * get takes a reference to two args
- * - unsigned short *&value, and int &length
- * @See:
- * - H4503CDDivertingLegInformation1Arg,
- * H4503CDDivertingLegInformation4Arg
- */
- class DLLEXPORT ItemNominatedInfo
- {
- protected:
- // Constructor
- ItemNominatedInfo();
- public:
- // Destructor
- virtual ~ItemNominatedInfo();
- // This sets the nominatedInfo field.
- // @Name: SetNominatedInfo
- // @Description:
- // Sets the nominatedInfo field
- // @Arguments:
- // -pointer to unsigned short array
- // -array length
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- ProtReturnCode SetNominatedInfo(unsigned short *, int);
- // This gets the nominatedInfo field.
- // @Name: GetNominatedInfo
- // @Description:
- // Gets the array from the nominatedInfo field
- // @Arguments:
- // -reference to array pointer for nominatedInfo data
- // -reference to int for nominatedInfo length
- // @Returns:
- // -pointer to BMP string array and length
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_ITEM_NOT_PRESENT -item not present
- ProtReturnCode GetNominatedInfo(unsigned short *&, int &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- EmBMPString128 *mNominatedInfoPtr;
- // Call Attach in derived class constructor
- void Attach(EmBMPString128 *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the nominatedNr field.
- * @Name: ItemNominatedNr
- * @Description:
- * Base class for setting and getting the nominatedNr field
- * as specified in H.450.3
- * @Arguments:
- * Both set and get take a reference to a H4501EndpointAddr
- * @See:
- * - H4503CDDivertingLegInformation1Arg,
- * H4503CDDivertingLegInformation4Arg
- */
- class DLLEXPORT ItemNominatedNr
- {
- protected:
- // Constructor
- ItemNominatedNr();
- public:
- // Destructor
- virtual ~ItemNominatedNr();
- // This sets the nominatedNr field.
- // @Name: SetNominatedNr
- // @Description:
- // Sets the nominatedNr field with an H4501EndpointAddr class
- // @Arguments:
- // -reference to H4501EndpointAddr class with nominatedNr data
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode SetNominatedNr(H4501EndpointAddr &);
- // This gets the nominatedNr field.
- // @Name: GetNominatedNr
- // @Description:
- // Gets an H4501EndpointAddr class from the nominatedNr field
- // @Arguments:
- // -reference to H4501EndpointAddr class for nominatedNr data
- // @Returns:
- // -H4501EndpointAddr with nominatedNr data
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode GetNominatedNr(H4501EndpointAddr &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- EmEndpointAddress *mNominatedNrPtr;
- // Call Attach in derived class constructor
- void Attach(EmEndpointAddress *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the originalCalledInfo field.
- * @Name: ItemOriginalCalledInfo
- * @Description:
- * Base class for setting and getting the originalCalledInfo field
- * as specified in H.450.3
- * @Arguments:
- * set takes two args
- * - unsigned short *value, and int length
- * get takes a reference to two args
- * - unsigned short *&value, and int &length
- * @See:
- * - H4503CDCallReroutingArg, H4503CDDivertingLegInformation2Arg
- */
- class DLLEXPORT ItemOriginalCalledInfo
- {
- protected:
- // Constructor
- ItemOriginalCalledInfo();
- public:
- // Destructor
- virtual ~ItemOriginalCalledInfo();
- // This sets the originalCalledInfo field.
- // @Name: SetOriginalCalledInfo
- // @Description:
- // Sets the originalCalledInfo field
- // @Arguments:
- // -pointer to unsigned short array
- // -array length
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- ProtReturnCode SetOriginalCalledInfo(unsigned short *, int);
- // This gets the originalCalledInfo field.
- // @Name: GetOriginalCalledInfo
- // @Description:
- // Gets the array from the originalCalledInfo field
- // @Arguments:
- // -reference to array pointer for originalCalledInfo data
- // -reference to int for originalCalledInfo length
- // @Returns:
- // -pointer to BMP string array and length
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_ITEM_NOT_PRESENT -item not present
- ProtReturnCode GetOriginalCalledInfo(unsigned short *&, int &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- EmBMPString128 *mOriginalCalledInfoPtr;
- // Call Attach in derived class constructor
- void Attach(EmBMPString128 *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the originalCalledNr field.
- * @Name: ItemOriginalCalledNr
- * @Description:
- * Base class for setting and getting the originalCalledNr field
- * as specified in H.450.3
- * @Arguments:
- * Both set and get take a reference to a H4501EndpointAddr
- * @See:
- * - H4503CDCallReroutingArg, H4503CDDivertingLegInformation2Arg
- */
- class DLLEXPORT ItemOriginalCalledNr
- {
- protected:
- // Constructor
- ItemOriginalCalledNr();
- public:
- // Destructor
- virtual ~ItemOriginalCalledNr();
- // This sets the originalCalledNr field.
- // @Name: SetOriginalCalledNr
- // @Description:
- // Sets the originalCalledNr field with an H4501EndpointAddr class
- // @Arguments:
- // -reference to H4501EndpointAddr class with originalCalledNr data
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode SetOriginalCalledNr(H4501EndpointAddr &);
- // This gets the originalCalledNr field.
- // @Name: GetOriginalCalledNr
- // @Description:
- // Gets an H4501EndpointAddr class from the originalCalledNr field
- // @Arguments:
- // -reference to H4501EndpointAddr class for originalCalledNr data
- // @Returns:
- // -H4501EndpointAddr with originalCalledNr data
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode GetOriginalCalledNr(H4501EndpointAddr &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- EmEndpointAddress *mOriginalCalledNrPtr;
- // Call Attach in derived class constructor
- void Attach(EmEndpointAddress *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the procedure field.
- * @Name: ItemProcedure
- * @Description:
- * Base class for setting and getting the procedure field
- * as specified in H.450.3
- * @Arguments:
- * set takes a int
- * get takes a reference to a int
- * @See:
- * - enum H4503Procedure
- * - H4503IntResult, H4503CDActivateDiversionQArg,
- * H4503CDDeactivateDiversionQArg, H4503CDInterrogateDiversionQArg
- */
- class DLLEXPORT ItemProcedure
- {
- protected:
- // Constructor
- ItemProcedure();
- public:
- // Destructor
- virtual ~ItemProcedure();
- // This sets the procedure field.
- // @Name: SetProcedure
- // @Description:
- // Sets the procedure field
- // @Arguments:
- // -int with procedure value
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // @See:
- // - enum H4503Procedure
- virtual ProtReturnCode SetProcedure(int);
- // This gets the procedure field.
- // @Name: GetProcedure
- // @Description:
- // Gets the value of the procedure field
- // @Arguments:
- // -reference to int for procedure
- // @Returns:
- // -procedure
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- // @See:
- // - enum H4503Procedure
- virtual ProtReturnCode GetProcedure(int &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- int *mProcedurePtr;
- // Call Attach in derived class constructor
- void Attach(int *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the redirectingInfo field.
- * @Name: ItemRedirectingInfo
- * @Description:
- * Base class for setting and getting the redirectingInfo field
- * as specified in H.450.3
- * @Arguments:
- * set takes two args
- * - unsigned short *value, and int length
- * get takes a reference to two args
- * - unsigned short *&value, and int &length
- * @See:
- * - H4503CDCallReroutingArg, H4503CDDivertingLegInformation1Arg,
- * H4503CDDivertingLegInformation2Arg
- */
- class DLLEXPORT ItemRedirectingInfo
- {
- protected:
- // Constructor
- ItemRedirectingInfo();
- public:
- // Destructor
- virtual ~ItemRedirectingInfo();
- // This sets the redirectingInfo field.
- // @Name: SetRedirectingInfo
- // @Description:
- // Sets the redirectingInfo field
- // @Arguments:
- // -pointer to unsigned short array
- // -array length
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- ProtReturnCode SetRedirectingInfo(unsigned short *, int);
- // This gets the redirectingInfo field.
- // @Name: GetRedirectingInfo
- // @Description:
- // Gets the array from the redirectingInfo field
- // @Arguments:
- // -reference to array pointer for redirectingInfo data
- // -reference to int for redirectingInfo length
- // @Returns:
- // -pointer to BMP string array and length
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_ITEM_NOT_PRESENT -item not present
- ProtReturnCode GetRedirectingInfo(unsigned short *&, int &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- EmBMPString128 *mRedirectingInfoPtr;
- // Call Attach in derived class constructor
- void Attach(EmBMPString128 *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the servedUserNr field.
- * @Name: ItemServedUserNr
- * @Description:
- * Base class for setting and getting the servedUserNr field
- * as specified in H.450.3
- * @Arguments:
- * Both set and get take a reference to a H4501EndpointAddr
- * @See:
- * - H4503IntResult, H4503CDActivateDiversionQArg,
- * H4503CDDeactivateDiversionQArg, H4503CDInterrogateDiversionQArg,
- * H4503CDCheckRestrictionArg
- */
- class DLLEXPORT ItemServedUserNr
- {
- protected:
- // Constructor
- ItemServedUserNr();
- public:
- // Destructor
- virtual ~ItemServedUserNr();
- // This sets the servedUserNr field.
- // @Name: SetServedUserNr
- // @Description:
- // Sets the servedUserNr field with an H4501EndpointAddr class
- // @Arguments:
- // -reference to H4501EndpointAddr class with servedUserNr data
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode SetServedUserNr(H4501EndpointAddr &);
- // This gets the servedUserNr field.
- // @Name: GetServedUserNr
- // @Description:
- // Gets an H4501EndpointAddr class from the servedUserNr field
- // @Arguments:
- // -reference to H4501EndpointAddr class for servedUserNr data
- // @Returns:
- // -H4501EndpointAddr with servedUserNr data
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- // -H450_INVALID_PARAM -incorrect input parameter
- virtual ProtReturnCode GetServedUserNr(H4501EndpointAddr &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- EmEndpointAddress *mServedUserNrPtr;
- // Call Attach in derived class constructor
- void Attach(EmEndpointAddress *);
- int mIsValid;
- //@DELE
- };
- /*
- * This is the base class for the subscriptionOption field.
- * @Name: ItemSubscriptionOption
- * @Description:
- * Base class for setting and getting the subscriptionOption field
- * as specified in H.450.3
- * @Arguments:
- * set takes a int
- * get takes a reference to a int
- * @See:
- * - enum H4503SubscriptionOption
- * - H4503CDCallReroutingArg, H4503CDDivertingLegInformation1Arg,
- * H4503CDDivertingLegInformation4Arg
- */
- class DLLEXPORT ItemSubscriptionOption
- {
- protected:
- // Constructor
- ItemSubscriptionOption();
- public:
- // Destructor
- virtual ~ItemSubscriptionOption();
- // This sets the subscriptionOption field.
- // @Name: SetSubscriptionOption
- // @Description:
- // Sets the subscriptionOption field
- // @Arguments:
- // -int with subscriptionOption value
- // @Returns:
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -set failed
- // @See:
- // - enum H4503SubscriptionOption
- virtual ProtReturnCode SetSubscriptionOption(int);
- // This gets the subscriptionOption field.
- // @Name: GetSubscriptionOption
- // @Description:
- // Gets the value of the subscriptionOption field
- // @Arguments:
- // -reference to int for subscriptionOption
- // @Returns:
- // -subscriptionOption
- // -ProtReturnCode:
- // -H450_SUCCESS -success.
- // -H450_MEM_ALLOC_FAILED -get failed
- // -H450_ITEM_NOT_PRESENT -item not present
- // @See:
- // - enum H4503SubscriptionOption
- virtual ProtReturnCode GetSubscriptionOption(int &);
- //@DELB
- // protected sections are for protocol internal use.
- protected:
- int *mSubscriptionOptionPtr;
- // Call Attach in derived class constructor
- void Attach(int *);
- int mIsValid;
- //@DELE
- };
- //}///////////////////////////////////////////////////
- #endif /* __H4503ITEM_H__ */