//
// h460tm.h
//
// Code automatically generated by asnparse.
//

#ifndef OPAL_H460_H460TM_H
#define OPAL_H460_H460TM_H

#ifdef P_USE_PRAGMA
#pragma interface
#endif

#include <opal/buildopts.h>

#if OPAL_H460

#include <ptclib/asner.h>

//
// TMmode
//

class H460TM_TMmode : public PASN_Enumeration
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(H460TM_TMmode, PASN_Enumeration);
#endif
  public:
    H460TM_TMmode(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);

    enum Enumerations {
      e_tmOpen = 1,
      e_tmPublic,
      e_tmPrivate,
      e_tmBroadcast,
      e_tmReceive
    };

    H460TM_TMmode & operator=(unsigned v);
    PObject * Clone() const;
};


//
// MultipointTM
//

class H460TM_MultipointTM : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(H460TM_MultipointTM, PASN_Sequence);
#endif
  public:
    H460TM_MultipointTM(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    enum OptionalFields {
      e_sender,
      e_receiver
    };

    PASN_BMPString m_message;
    PASN_Integer m_sender;
    PASN_Integer m_receiver;

    PINDEX GetDataLength() const;
    PBoolean Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


#endif // OPAL_H460

#endif // OPAL_H460_H460TM_H


// End of h460tm.h
