blob: 73872f3d126c59179a6a75434585a5b6dcf22378 (
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
// $Id$
/// Compliant with OMG 06-04-01 Section 9.4.3.1
#if !defined (CCM_STATEIDFACTORY)
#define CCM_STATEIDFACTORY
#include <CosPersistentState.idl>
#if !defined (CCM_LW)
module Components
{
typeprefix Components "omg.org";
typedef short SegmentId;
const SegmentId COMPONENT_SEGMENT = 0;
typedef short FacetId;
const FacetId COMPONENT_FACET = 0;
typedef sequence<octet> IdData;
typedef CosPersistentState::Pid PersistentId;
exception InvalidStateIdData {};
typedef short StateIdType;
const StateIdType PERSISTENT_ID = 0;
abstract valuetype StateIdValue
{
StateIdType get_sid_type();
IdData get_sid_data();
};
local interface StateIdFactory
{
StateIdValue create (in IdData data)
raises (InvalidStateIdData);
};
valuetype PersistentIdValue : StateIdValue
{
private PersistentId pid;
PersistentId get_pid();
factory init (in PersistentId pid);
};
valuetype SegmentDescr
{
private StateIdValue sid;
private SegmentId seg;
StateIdValue get_sid();
SegmentId get_seg_id();
factory init (in StateIdValue sid,
in SegmentId seg);
};
typedef sequence<SegmentDescr> SegmentDescrSeq;
};
#endif
#endif /* CCM_STATEIDFACTORY */
|