// $Id: CCM_EntityComponent.idl 75676 2006-11-29 12:48:12Z johnnyw $

/**
 * @@ Compile this file with:
 *
 *     tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
 *          -Wb,export_macro=CIAO_Export \
 *          -Wb,export_include=CIAO_export.h \
 *          -Wb,pre_include="ace/pre.h" \
 *          -Wb,post_include="ace/post.h" \
 *          CCM_Container.idl
 */

//#define CIAO_HAS_IMPORT_KEYWORD

#if !defined (CCM_ENTITYCOMPONENT_IDL)
#define CCM_ENTITYCOMPONENT_IDL

#include "ciao/CCM_CCMException.idl"
#include "ciao/CCM_EnterpriseComponent.idl"
#include "ciao/CCM_EntityContext.idl"

module Components
{
  typeprefix Components "omg.org";

  local interface EntityComponent : EnterpriseComponent
  {
    void set_entity_context (in EntityContext ctx)
      raises (CCMException);

    void unset_entity_context ()
      raises (CCMException);

    void ccm_activate ()
      raises (CCMException);

    void ccm_load ()
      raises (CCMException);

    void ccm_store ()
      raises (CCMException);

    void ccm_passivate ()
      raises (CCMException);

    void ccm_remove ()
      raises (CCMException);
  };
};
#endif /* CCM_ENTITYCOMPONENT_IDL */
