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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
//File: CosCompoundLifeCycle.idl
//Part of the LifeCycle Service
#ifndef _COS_COMPOUND_LIFE_CYCLE_IDL_
#define _COS_COMPOUND_LIFE_CYCLE_IDL_
// omniORB specific pragmas to insert extra includes into the stub header.
#pragma hh #include "COS_sysdep.h"
#include <CosLifeCycle.idl>
#include <CosRelationships.idl>
#include <CosGraphs.idl>
#pragma prefix "omg.org"
module CosCompoundLifeCycle {
interface OperationsFactory;
interface Operations;
interface Node;
interface Role;
interface Relationship;
interface PropagationCriteriaFactory;
enum Operation {copy, move, remove};
struct RelationshipHandle {
CosRelationships::Relationship the_relationship;
CosObjectIdentity::ObjectIdentifier constant_random_id;
};
interface OperationsFactory {
Operations create_compound_operations();
};
interface Operations {
Node copy (
in Node starting_node,
in CosLifeCycle::FactoryFinder there,
in CosLifeCycle::Criteria the_criteria)
raises (CosLifeCycle::NoFactory,
CosLifeCycle::NotCopyable,
CosLifeCycle::InvalidCriteria,
CosLifeCycle::CannotMeetCriteria);
void move (
in Node starting_node,
in CosLifeCycle::FactoryFinder there,
in CosLifeCycle::Criteria the_criteria)
raises (CosLifeCycle::NoFactory,
CosLifeCycle::NotMovable,
CosLifeCycle::InvalidCriteria,
CosLifeCycle::CannotMeetCriteria);
void remove (in Node starting_node)
raises (CosLifeCycle::NotRemovable);
void destroy();
};
interface Node : CosGraphs::Node {
exception NotLifeCycleObject {};
void copy_node (
in CosLifeCycle::FactoryFinder there,
in CosLifeCycle::Criteria the_criteria,
out Node new_node,
out Roles roles_of_new_node)
raises (CosLifeCycle::NoFactory,
CosLifeCycle::NotCopyable,
CosLifeCycle::InvalidCriteria,
CosLifeCycle::CannotMeetCriteria);
void move_node (
in CosLifeCycle::FactoryFinder there,
in CosLifeCycle::Criteria the_criteria)
raises (CosLifeCycle::NoFactory,
CosLifeCycle::NotMovable,
CosLifeCycle::InvalidCriteria,
CosLifeCycle::CannotMeetCriteria);
void remove_node ()
raises (CosLifeCycle::NotRemovable);
CosLifeCycle::LifeCycleObject get_life_cycle_object()
raises (NotLifeCycleObject);
};
interface Role : CosGraphs::Role {
Role copy_role (
in CosLifeCycle::FactoryFinder there,
in CosLifeCycle::Criteria the_criteria)
raises (CosLifeCycle::NoFactory,
CosLifeCycle::NotCopyable,
CosLifeCycle::InvalidCriteria,
CosLifeCycle::CannotMeetCriteria);
void move_role (
in CosLifeCycle::FactoryFinder there,
in CosLifeCycle::Criteria the_criteria)
raises (CosLifeCycle::NoFactory,
CosLifeCycle::NotMovable,
CosLifeCycle::InvalidCriteria,
CosLifeCycle::CannotMeetCriteria);
CosGraphs::PropagationValue life_cycle_propagation (
in Operation op,
in RelationshipHandle rel,
in CosRelationships::RoleName to_role_name,
out boolean same_for_all);
};
interface Relationship : CosRelationships::Relationship {
Relationship copy_relationship (
in CosLifeCycle::FactoryFinder there,
in CosLifeCycle::Criteria the_criteria,
in CosGraphs::NamedRoles new_roles)
raises (CosLifeCycle::NoFactory,
CosLifeCycle::NotCopyable,
CosLifeCycle::InvalidCriteria,
CosLifeCycle::CannotMeetCriteria);
void move_relationship (
in CosLifeCycle::FactoryFinder there,
in CosLifeCycle::Criteria the_criteria)
raises (CosLifeCycle::NoFactory,
CosLifeCycle::NotMovable,
CosLifeCycle::InvalidCriteria,
CosLifeCycle::CannotMeetCriteria);
CosGraphs::PropagationValue life_cycle_propagation (
in Operation op,
in CosRelationships::RoleName from_role_name,
in CosRelationships::RoleName to_role_name,
out boolean same_for_all);
};
interface PropagationCriteriaFactory {
CosGraphs::TraversalCriteria create(in Operation op);
};
};
#endif /* ifndef _COS_COMPOUND_LIFE_CYCLE_IDL_ */
|