Issue 1792: Remove the use of CosTrading property types (notif_service-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: [the following is raised as a separate issue] Lets remove the use of CosTrading property types. This is an unnecessary dependancy for such simple types. Resolution: Revised Text: Actions taken: August 10, 1998: received issue February 23, 1999: closed issue Discussion: End of Annotations:===== Return-Path: To: issues@omg.org cc: notif_service-rtf@omg.org Subject: confusing PropertyError type Date: Mon, 10 Aug 1998 11:53:16 +1000 From: Keith Duddy [from bren@dstc.edu.au] Keith, [the following is raised as a separate issue] while we are at it lets remove the use of CosTrading property types. This is an unnecessary dependancy for such simple types. Bren. The diff for CosNotification.idl follows and the new CosNotificaion.idl is attached. > diff CosNotification.idl .. 4,5c4,7 < typedef Istring PropertyName; < typedef any PropertyValue; - --- > typedef CosTrading::PropertySeq OptionalHeaderFields; > typedef CosTrading::PropertySeq FilterableEventBody; > typedef CosTrading::PropertySeq QoSProperties; > typedef CosTrading::PropertySeq AdminProperties; 7,18d8 < struct Property { < PropertyName name; < PropertyValue value; < }; < < typedef sequence PropertySeq; < < typedef PropertySeq OptionalHeaderFields; < typedef PropertySeq FilterableEventBody; < typedef PropertySeq QoSProperties; < typedef PropertySeq AdminProperties; < 26,30d15 < struct NamedPropertyRange { < PropertyName name; < PropertyRange < } < 32,33c17,19 < PropertyValue low_val; < PropertyValue high_val; - --- > CosTrading::PropertyName name; > CosTrading::PropertyValue low_val; > CosTrading::PropertyValue high_val; 36c22 < typedef sequence NamedPropertyRangeSeq; - --- > typedef sequence PropertyRangeSeq; 50d35 < PropertyName name; 139c124 < out NamedPropertyRangeSeq available_qos ) - --- > out PropertyRangeSeq available_qos ) - -- Bren Caperon, Distributed Systems Technology Center - --------------EA9806E6FCF0A742FCF1172D Content-Type: text/plain; charset=us-ascii; name="CosNotification.idl" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="CosNotification.idl" module CosNotification { // The following two are the same, but serve different purposes. typedef Istring PropertyName; typedef any PropertyValue; struct Property { PropertyName name; PropertyValue value; }; typedef sequence PropertySeq; typedef PropertySeq OptionalHeaderFields; typedef PropertySeq FilterableEventBody; typedef PropertySeq QoSProperties; typedef PropertySeq AdminProperties; struct EventType { string domain_name; string type_name; }; typedef sequence EventTypeSeq; struct NamedPropertyRange { PropertyName name; PropertyRange } struct PropertyRange { PropertyValue low_val; PropertyValue high_val; }; typedef sequence NamedPropertyRangeSeq; enum QoSError_code { UNSUPPORTED_PROPERTY, UNAVAILABLE_PROPERTY, UNSUPPORTED_VALUE, UNAVAILABLE_VALUE, BAD_PROPERTY, BAD_TYPE, BAD_VALUE }; struct PropertyError { QoSError_code code; PropertyName name; PropertyRange available_range; }; typedef sequence PropertyErrorSeq; exception UnsupportedQoS { PropertyErrorSeq qos_err; }; exception UnsupportedAdmin { PropertyErrorSeq admin_err; }; // Define the Structured Event structure struct FixedEventHeader { EventType event_type; string event_name; }; struct EventHeader { FixedEventHeader fixed_header; OptionalHeaderFields variable_header; }; struct StructuredEvent { EventHeader header; FilterableEventBody filterable_data; any remainder_of_body; }; // StructuredEvent typedef sequence EventBatch; // The following constant declarations define the standard // QoS property names and the associated values each property // can take on. The name/value pairs for each standard property // are grouped, beginning with a string constant defined for the // property name, followed by the values the property can take on. const string EventReliability = "EventReliability"; const short BestEffort = 0; const short Persistent = 1; const string ConnectionReliability = "ConnectionReliability"; // Can take on the same values as EventReliability const string Priority = "Priority"; const short LowestPriority = -32767; const short HighestPriority = 32767; const short DefaultPriority = 0; const string StartTime = "StartTime"; // StartTime takes a value of type TimeBase::UtcT. const string StopTime = "StopTime"; // StopTime takes a value of type TimeBase::UtcT. const string Timeout = "Timeout"; // Timeout takes on a value of type TimeBase::TimeT const string OrderPolicy = "OrderPolicy"; const short AnyOrder = 0; const short FifoOrder = 1; const short PriorityOrder = 2; const short DeadlineOrder = 3; const string DiscardPolicy = "DiscardPolicy"; // DiscardPolicy takes on the same values as OrderPolicy, plus const short LifoOrder = 4; const short RejectNewEvents = 5; const string MaximumBatchSize = "MaximumBatchSize"; // MaximumBatchSize takes on a value of type long const string PacingInterval = "PacingInterval"; // PacingInterval takes on a value of type TimeBase::TimeT const string StartTimeSupported = "StartTimeSupported"; // StartTimeSupported takes on a boolean value const string StopTimeSupported = "StopTimeSupported"; // StopTimeSupported takes on a boolean value interface QoSAdmin { QoSProperties get_qos(); void set_qos ( in QoSProperties qos) raises ( UnsupportedQoS ); void validate_qos ( in QoSProperites required_qos, out NamedPropertyRangeSeq available_qos ) raises ( UnsupportedQoS ); }; // QosAdmin // Admin properties are defined in similar manner as QoS // properties. The only difference is that these properties // are related to channel administration policies, as opposed // message quality of service const string MaxQueueLength = "MaxQueueLength"; // MaxQueueLength takes on a value of type long const string MaxConsumers = "MaxConsumers"; // MaxConsumers takes on a value of type long const string MaxSuppliers = "MaxSuppliers"; // MaxSuppliers takes on a value of type long interface AdminPropertiesAdmin { AdminProperites get_admin(); void set_admin (in AdminProperties admin) raises ( UnsupportedAdmin); }; // AdminPropertiesAdmin }; // CosNotification - --------------EA9806E6FCF0A742FCF1172D-- ------- End of Forwarded Message