summaryrefslogtreecommitdiff
path: root/modules/CIAO/ciao/CCM_CCM2Context.idl
blob: 9b29d8b7d3b332620ead4d0bba714cd64fb41c6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// $Id$

/**
 * @@ 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_Ex.idl
 */

#if !defined (CCM_2CONTEXT_IDL)
#define CCM_2CONTEXT_IDL

#include "ciao/CCM_Container.idl"
#include "ciao/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 */