// $Id: CCM_CCM2Context.idl 83421 2008-10-23 09:52:43Z johnnyw $

#if !defined (CCM_2CONTEXT_IDL)
#define CCM_2CONTEXT_IDL

#include "ccm/CCM_Container.idl"
#include "ccm/CCM_HomeRegistration.idl"
#include <CosPersistentState.idl>

// *************** Extended Container Interfaces ***************

module Components
{
  typeprefix Components "omg.org";

  typedef CosPersistentState::CatalogBase CatalogBase;
  typedef CosPersistentState::_TypeId _TypeId;

  exception PolicyMismatch {};
  exception PersistenceNotAvailable {};

  local interface CCM2Context : CCMContext
  {
    HomeRegistration get_home_registration ();

    void req_passivate ()
      raises (PolicyMismatch);

    CatalogBase get_persistence (in _TypeId catalog_type_id)
      raises (PersistenceNotAvailable);
  };

};
#endif /* CCM_2CONTEXT_IDL */
