#if !defined (TOPOLOGY_IDL)
#define TOPOLOGY_IDL
module Topology {
// NOTE: it is hoped that the PartitionedIdentifier will be
// incorporated into the standard COS ObjectIdentity module
struct PartitionedIdentifier {
string id_context;
string id_base;
};
typedef sequence<PartitionedIdentifier> IdList;
struct TopologicalEntity {
PartitionedIdentifier id;
Object obj;
};
typedef sequence <TopologicalEntity> TopologicalEntityList;
typedef string TopologicalTypeName;
typedef sequence <TopologicalTypeName> TopologicalTypeNameList;
struct Association {
TopologicalEntity entity1;
string role1;
TopologicalEntity entity2;
string role2;
};
typedef sequence <Association> AssociationList;
exception SchemaViolation {};
exception AggregationConstraintViolation{};
exception NotManaged{};
exception TransactionWillRollback{};
exception ServerNotContactable{};
exception NoSuchType{};
exception RoleNotSupported{};
exception InconsistentData{};
exception InvalidRoleName{};
exception InvalidTypeName{};
};
#endif // TOPOLOGY_IDL