Issue 6343: Notification Service IDL issues (notif_service-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: just came across Notification Service IDL where you are mentioned as contact person: When I "grep" on all IDL files I notice that orb.idl is not included. I notice further that file CosNotifyFilter.idl in line 105 makes use of TypeCode: readonly attribute CORBA::TypeCode value_type; However section 3.19 "CORBA Module" of current CORBA standard 3.0.2 reads as: >> Names defined by the CORBA specification are in a module named CORBA. In an >> OMG IDL specification, however, OMG IDL keywords such as Object must not be >> preceded by a "CORBA::" prefix. Other interface names such as TypeCode are not >> OMG IDL keywords, so they must be referred to by their fully scoped names (e.g., >> CORBA::TypeCode) within an OMG IDL specification. >> For example in: >> #include <orb.idl> >> module M { >> typedef CORBA::Object myObjRef; // Error: keyword Object scoped >> typedef TypeCode myTypeCode; // Error: TypeCode undefined >> typedef CORBA::TypeCode TypeCode;// OK >> }; >> The file orb.idl contains the IDL definitions for the CORBA module. Except for >> CORBA::TypeCode, the file orb.idl must be included in IDL files that use names >> defined in the CORBA module. IDL files that use CORBA::TypeCode may obtain its >> definition by including either the file orb.idl or the file TypeCode.idl. In my humble opinion, "your" Notification IDL is not correct. Perhaps you have some time left to comment on this? Resolution: Revised Text: Actions taken: October 13, 2003: received issue Discussion: End of Annotations:===== ubject: OMG Document formal/01-03-03 Date: Mon, 13 Oct 2003 16:22:39 +0200 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-topic: OMG Document formal/01-03-03 Thread-Index: AcORlZjDHTDPCaoVRWSTbQcXtYeaTw== From: "Wolfgang Haefelinger" To: X-OriginalArrivalTime: 13 Oct 2003 14:22:44.0406 (UTC) FILETIME=[77E38560:01C39195] X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id h9DEIMQR020782 Dear Mr. Boldt, just came across Notification Service IDL where you are mentioned as contact person: When I "grep" on all IDL files I notice that orb.idl is not included. I notice further that file CosNotifyFilter.idl in line 105 makes use of TypeCode: readonly attribute CORBA::TypeCode value_type; However section 3.19 "CORBA Module" of current CORBA standard 3.0.2 reads as: >> Names defined by the CORBA specification are in a module named CORBA. In an >> OMG IDL specification, however, OMG IDL keywords such as Object must not be >> preceded by a "CORBA::" prefix. Other interface names such as TypeCode are not >> OMG IDL keywords, so they must be referred to by their fully scoped names (e.g., >> CORBA::TypeCode) within an OMG IDL specification. >> For example in: >> #include >> module M { >> typedef CORBA::Object myObjRef; // Error: keyword Object scoped >> typedef TypeCode myTypeCode; // Error: TypeCode undefined >> typedef CORBA::TypeCode TypeCode;// OK >> }; >> The file orb.idl contains the IDL definitions for the CORBA module. Except for >> CORBA::TypeCode, the file orb.idl must be included in IDL files that use names >> defined in the CORBA module. IDL files that use CORBA::TypeCode may obtain its >> definition by including either the file orb.idl or the file TypeCode.idl. In my humble opinion, "your" Notification IDL is not correct. Perhaps you have some time left to comment on this? Thanks in advance, Wolfgang. ____________________________Wolfgang Haefelinger Enterprise Software Analyst,Borland EMEA Support Center Amsterdam, The Netherlands <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This email, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail,you are hereby notified that any dissemination, distribution or copying of this e-mail,including any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please delete immediately and permanently the original and any copy of any e-mail and any printout thereof. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Subject: OMG Document formal/01-03-03 Date: Mon, 13 Oct 2003 16:22:39 +0200 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-topic: OMG Document formal/01-03-03 Thread-Index: AcORlZjDHTDPCaoVRWSTbQcXtYeaTw== From: "Wolfgang Haefelinger" To: X-OriginalArrivalTime: 13 Oct 2003 14:22:44.0406 (UTC) FILETIME=[77E38560:01C39195] X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id h9DEIMQR020782 Dear Mr. Boldt, just came across Notification Service IDL where you are mentioned as contact person: When I "grep" on all IDL files I notice that orb.idl is not included. I notice further that file CosNotifyFilter.idl in line 105 makes use of TypeCode: readonly attribute CORBA::TypeCode value_type; However section 3.19 "CORBA Module" of current CORBA standard 3.0.2 reads as: >> Names defined by the CORBA specification are in a module named CORBA. In an >> OMG IDL specification, however, OMG IDL keywords such as Object must not be >> preceded by a "CORBA::" prefix. Other interface names such as TypeCode are not >> OMG IDL keywords, so they must be referred to by their fully scoped names (e.g., >> CORBA::TypeCode) within an OMG IDL specification. >> For example in: >> #include >> module M { >> typedef CORBA::Object myObjRef; // Error: keyword Object scoped >> typedef TypeCode myTypeCode; // Error: TypeCode undefined >> typedef CORBA::TypeCode TypeCode;// OK >> }; >> The file orb.idl contains the IDL definitions for the CORBA module. Except for >> CORBA::TypeCode, the file orb.idl must be included in IDL files that use names >> defined in the CORBA module. IDL files that use CORBA::TypeCode may obtain its >> definition by including either the file orb.idl or the file TypeCode.idl. In my humble opinion, "your" Notification IDL is not correct. Perhaps you have some time left to comment on this? Thanks in advance, Wolfgang. ____________________________Wolfgang Haefelinger Enterprise Software Analyst,Borland EMEA Support Center Amsterdam, The Netherlands <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This email, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail,you are hereby notified that any dissemination, distribution or copying of this e-mail,including any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please delete immediately and permanently the original and any copy of any e-mail and any printout thereof. Date: Tue, 21 Oct 2003 13:04:35 -0400 From: Jishnu Mukerji Organization: Software Business Unit, Hewlett-Packard User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01 X-Accept-Language: en-us, en To: Juergen Boldt , Andrew Watson Cc: Linda Heaton Subject: Re: issue 6343 Notification Service RTF issue (to be chartered??) Juergen, IMHO you don't need an RTF to fix this. It is a simple error of editorial omission. The correct version of the file CosNotifyFilter.idl is attached below. If Andrew certifies this as editorial, I'd recommend that you publish this fixed file ASAP. BTW, the relevant document is formal/01-03-03.zip, and the file in question is CosNotifyFilter.idl. Jishnu. Juergen Boldt wrote: This is issue # 6343 Notification Service IDL issues just came across Notification Service IDL where you are mentioned as contact person: When I "grep" on all IDL files I notice that orb.idl is not included. I notice further that file CosNotifyFilter.idl in line 105 makes use of TypeCode: readonly attribute CORBA::TypeCode value_type; However section 3.19 "CORBA Module" of current CORBA standard 3.0.2 reads as: >> Names defined by the CORBA specification are in a module named CORBA. In an >> OMG IDL specification, however, OMG IDL keywords such as Object must not be >> preceded by a "CORBA::" prefix. Other interface names such as TypeCode are not >> OMG IDL keywords, so they must be referred to by their fully scoped names (e.g., >> CORBA::TypeCode) within an OMG IDL specification. >> For example in: >> #include >> module M { >> typedef CORBA::Object myObjRef; // Error: keyword Object scoped >> typedef TypeCode myTypeCode; // Error: TypeCode undefined >> typedef CORBA::TypeCode TypeCode;// OK >> }; >> The file orb.idl contains the IDL definitions for the CORBA module. Except for >> CORBA::TypeCode, the file orb.idl must be included in IDL files that use names >> defined in the CORBA module. IDL files that use CORBA::TypeCode may obtain its >> definition by including either the file orb.idl or the file TypeCode.idl. In my humble opinion, "your" Notification IDL is not correct. ================================= Jürgen Boldt Director, Member Services Object Management Group 250 First Avenue, Suite 100 Needham, MA 02494 Tel. +1 781 444 0404 ext. 132 Fax: +1 781 444 0320 email: juergen@omg.org www www.omg.org ================================ -- Jishnu Mukerji Senior Systems Architect 1001 Frontier Road, Suite 300 Strategy & Technology Office Bridgewater NJ 08807, USA Software Business Unit Tel: +1 908 243 8924 Hewlett-Packard Company Fax: +1 908 243 8850 mailto: jishnu@hp.com //File: CosNotifyFilter.idl //Part of the Notification Service #ifndef _COS_NOTIFY_FILTER_IDL_ #define _COS_NOTIFY_FILTER_IDL_ #pragma prefix "omg.org" #include #include module CosNotifyFilter { typedef long ConstraintID; struct ConstraintExp { CosNotification::EventTypeSeq event_types; string constraint_expr; }; typedef sequence ConstraintIDSeq; typedef sequence ConstraintExpSeq; struct ConstraintInfo { ConstraintExp constraint_expression; ConstraintID constraint_id; }; typedef sequence ConstraintInfoSeq; struct MappingConstraintPair { ConstraintExp constraint_expression; any result_to_set; }; typedef sequence MappingConstraintPairSeq; struct MappingConstraintInfo { ConstraintExp constraint_expression; ConstraintID constraint_id; any value; }; typedef sequence MappingConstraintInfoSeq; typedef long CallbackID; typedef sequence CallbackIDSeq; exception UnsupportedFilterableData {}; exception InvalidGrammar {}; exception InvalidConstraint {ConstraintExp constr;}; exception DuplicateConstraintID {ConstraintID id;}; exception ConstraintNotFound {ConstraintID id;}; exception CallbackNotFound {}; exception InvalidValue {ConstraintExp constr; any value;}; interface Filter { readonly attribute string constraint_grammar; ConstraintInfoSeq add_constraints ( in ConstraintExpSeq constraint_list) raises (InvalidConstraint); void modify_constraints ( in ConstraintIDSeq del_list, in ConstraintInfoSeq modify_list) raises (InvalidConstraint, ConstraintNotFound); ConstraintInfoSeq get_constraints( in ConstraintIDSeq id_list) raises (ConstraintNotFound); ConstraintInfoSeq get_all_constraints(); void remove_all_constraints(); void destroy(); boolean match ( in any filterable_data ) raises (UnsupportedFilterableData); boolean match_structured ( in CosNotification::StructuredEvent filterable_data ) raises (UnsupportedFilterableData); boolean match_typed ( in CosNotification::PropertySeq filterable_data ) raises (UnsupportedFilterableData); CallbackID attach_callback ( in CosNotifyComm::NotifySubscribe callback); void detach_callback ( in CallbackID callback) raises ( CallbackNotFound ); CallbackIDSeq get_callbacks(); }; // Filter interface MappingFilter { readonly attribute string constraint_grammar; readonly attribute CORBA::TypeCode value_type; readonly attribute any default_value; MappingConstraintInfoSeq add_mapping_constraints ( in MappingConstraintPairSeq pair_list) raises (InvalidConstraint, InvalidValue); void modify_mapping_constraints ( in ConstraintIDSeq del_list, in MappingConstraintInfoSeq modify_list) raises (InvalidConstraint, InvalidValue, ConstraintNotFound); MappingConstraintInfoSeq get_mapping_constraints ( in ConstraintIDSeq id_list) raises (ConstraintNotFound); MappingConstraintInfoSeq get_all_mapping_constraints(); void remove_all_mapping_constraints(); void destroy(); boolean match ( in any filterable_data, out any result_to_set ) raises (UnsupportedFilterableData); boolean match_structured ( in CosNotification::StructuredEvent filterable_data, out any result_to_set) raises (UnsupportedFilterableData); boolean match_typed ( in CosNotification::PropertySeq filterable_data, out any result_to_set) raises (UnsupportedFilterableData); }; // MappingFilter interface FilterFactory { Filter create_filter ( in string constraint_grammar) raises (InvalidGrammar); MappingFilter create_mapping_filter ( in string constraint_grammar, in any default_value) raises(InvalidGrammar); }; // FilterFactory typedef long FilterID; typedef sequence FilterIDSeq; exception FilterNotFound {}; interface FilterAdmin { FilterID add_filter ( in Filter new_filter ); void remove_filter ( in FilterID filter ) raises ( FilterNotFound ); Filter get_filter ( in FilterID filter ) raises ( FilterNotFound ); FilterIDSeq get_all_filters(); void remove_all_filters(); }; // FilterAdmin }; // CosNotifyFilter >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>