/*
 * ex: set ro:
 * DO NOT EDIT.
 * generated by smc (http://smc.sourceforge.net/)
 * from file : txc_client.sm
 */

#ifndef _H_TXC_CLIENT_SM
#define _H_TXC_CLIENT_SM

#include <statemap.h>


struct txc_xdmc;
struct txc_xdmcContext;

struct txc_xdmcState
{
    void(*Entry)(struct txc_xdmcContext*);

    void(*Connect)(struct txc_xdmcContext*);
    void(*Failure)(struct txc_xdmcContext*);
    void(*Success)(struct txc_xdmcContext*);

    void(*Default)(struct txc_xdmcContext*);

    STATE_MEMBERS
};

extern const struct txc_xdmcState txc_xdmc_Started;
extern const struct txc_xdmcState txc_xdmc_DISCONNECTED;
extern const struct txc_xdmcState txc_xdmc_CONNECTED;
extern const struct txc_xdmcState txc_xdmc_GET_XCAP_CAPS;
extern const struct txc_xdmcState txc_xdmc_GET_OMADIR;
extern const struct txc_xdmcState txc_xdmc_GET_RLIST;
extern const struct txc_xdmcState txc_xdmc_GET_RLS;
extern const struct txc_xdmcState txc_xdmc_GET_OMAPRES;
extern const struct txc_xdmcState txc_xdmc_GET_IETFPRES;
extern const struct txc_xdmcState txc_xdmc_GET_OMAPRESCONT;

struct txc_xdmcContext
{
    FSM_MEMBERS(txc_xdmc)
    struct txc_xdmc *_owner;
};

extern void txc_xdmcContext_Init(struct txc_xdmcContext*, struct txc_xdmc*);
extern void txc_xdmcContext_EnterStartState(struct txc_xdmcContext*);
extern void txc_xdmcContext_Connect(struct txc_xdmcContext*);
extern void txc_xdmcContext_Failure(struct txc_xdmcContext*);
extern void txc_xdmcContext_Success(struct txc_xdmcContext*);

#endif

/*
 * Local variables:
 *  buffer-read-only: t
 * End:
 */
