Issue 3211: RAD idl problems (rad-ftf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: >You have probably already caught these problems. Just in case you haven't I >am sending a modified copy. Mainly problems with missing or extra forward >declarations. > >You can probably ignore the 'include "cds_patches.idl". We are not using a >2.3 orb so we had to define some types that were needed by the 2.3 >security.idl. Resolution: resolved Revised Text: Change the list of forwards (starting with the first one below and continuing to the end of the section labeled "Basic Types" in the idl DfResourceAccessDecision file) to read as follows: interface DynamicAttributeService; interface DecisionCombinator; interface PolicyEvaluator; interface PolicyEvaluatorAdmin; interface PolicyEvaluatorLocatorBasicAdmin; interface PolicyEvaluatorLocatorNameAdmin; interface PolicyEvaluatorLocatorPatternAdmin; X-Sender: carolbrt@mindspring.com X-Mailer: QUALCOMM Windows Eudora Pro Version 4.0 Date: Tue, 11 Jan 2000 23:48:33 -0600 To: issues@omg.org From: Carol Burt <cburt@2ab.com> Subject: Fwd: RAD idl problems Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_947677713==_" X-UIDL: M%:e9VB!!!UG*!!TDi!! >X-MindSpring-Loop: cburt@2ab.com >From: "Chris White" <cwhite@ic.net> >To: <cburt@2ab.com> >Cc: <jfarmer@ic.net>, "Chris White" <cwhite@ic.net> >Subject: RAD idl problems >Date: Tue, 11 Jan 2000 21:37:21 -0500 >X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) >Importance: Normal > You have probably already caught these problems. Just in case you haven’t I am sending a modified copy. Mainly problems with missing or extra forward declarations. > You can probably ignore the ’include "cds_patches.idl". We are not using a 2.3 orb so we had to define some types that were needed by the 2.3 security.idl. > By the way, we are still working on extensions for policy location using security attributes. > > //File: DfResourceAccessDecision.idl // #ifndef _DF_RESOURCE_ACCESS_DECISION_IDL_ #define _DF_RESOURCE_ACCESS_DECISION_IDL_ //#include "cds_patches.idl" //cds #include "Security.idl" #pragma prefix "omg.org" module DfResourceAccessDecision { //********************************************************* // Basic Types //********************************************************* typedef sequence<boolean> BooleanList; typedef Security::AttributeList AttributeList; interface DynamicAttributeService; interface DecisionCombinator; interface PolicyEvaluator; interface PolicyEvaluatorLocator; // interface PolicyEvaluatorLocatorAdmin; //cds interface PolicyEvaluatorAdmin; interface PolicyEvaluatorLocatorBasicAdmin; // cds interface PolicyEvaluatorLocatorNameAdmin; // cds interface PolicyEvaluatorLocatorPatternAdmin; // cds //********************************************************* // Types that identify a secured resource //********************************************************* struct ResourceNameComponent { string name_string; string value_string; }; typedef sequence<ResourceNameComponent> ResourceNameComponentList; typedef string ResourceNamingAuthority; struct ResourceName { ResourceNamingAuthority resource_naming_authority; ResourceNameComponentList resource_name_component_list; }; typedef ResourceName ResourceNamePattern; typedef string Operation; typedef sequence<Operation> OperationList; //**************************************************** // Types associated with evaluating Access Policy //**************************************************** typedef string PolicyName; typedef sequence<PolicyName> PolicyNameList; const PolicyName NO_ACCESS_POLICY = "NO_ACCESS_POLICY"; struct NamedPolicyEvaluator { string evaluator_name; PolicyEvaluator policy_evaluator; }; typedef sequence<NamedPolicyEvaluator> PolicyEvaluatorList; struct PolicyDecisionEvaluators { PolicyEvaluatorList policy_evaluator_list; DecisionCombinator decision_combinator; }; //**************************************************** // Types used to request an Access Decision //**************************************************** struct AccessDefinition { ResourceName resource_name; Operation operation; }; typedef sequence<AccessDefinition> AccessDefinitionList; enum DecisionResult {ACCESS_DECISION_ALLOWED, ACCESS_DECISION_NOT_ALLOWED, ACCESS_DECISION_UNKNOWN }; //******************************************************** //* Exception Data types //******************************************************** struct ExceptionData { short error_code; string reason; }; enum InternalErrorType {Fatal, NotFatal}; //********************************************************* // Exception thrown by the Access Decision Object //********************************************************* exception InternalError{InternalErrorType et;}; //********************************************************* // Exception thrown by Internal non-admin interfaces //********************************************************* exception ComponentError{ ExceptionData ed; InternalErrorType et; }; //********************************************************* // Exceptions thrown by Admin Interfaces //********************************************************* exception PatternConflict {ExceptionData ed;}; exception PatternDuplicate {ExceptionData ed;}; exception PatternNotRegistered {ExceptionData ed;}; exception PatternInUse {ExceptionData ed;}; exception InputFormatError {ExceptionData ed;}; exception ResourceNameNotFound {ExceptionData ed;}; exception NoAssociation {ExceptionData ed;}; exception InvalidPolicy {ExceptionData ed;}; exception DuplicateEvaluatorName {ExceptionData ed;}; exception InvalidResourceName {}; exception InvalidResourceNamePattern {}; exception InvalidPolicyEvaluatorList { ExceptionData ed; NamedPolicyEvaluator first_invalid_element; }; exception InvalidPolicyNameList { ExceptionData ed; PolicyName first_invalid_element; }; //**************************************************** // interface AccessDecision //**************************************************** interface AccessDecision { boolean access_allowed( in ResourceName resource_name, in Operation operation, in AttributeList attribute_list ) raises (InternalError); BooleanList multiple_access_allowed( in AccessDefinitionList access_requests, in AttributeList attribute_list ) raises (InternalError); }; //****************************************************** // interface DynamicAttributeService //****************************************************** interface DynamicAttributeService { AttributeList get_dynamic_attributes( in AttributeList attribute_list, in ResourceName resource_name, in Operation operation ) raises (ComponentError); }; //****************************************************** // interface PolicyEvaluatorLocator //****************************************************** interface PolicyEvaluatorLocator { readonly attribute PolicyEvaluatorLocatorBasicAdmin basic_admin; readonly attribute PolicyEvaluatorLocatorNameAdmin name_admin; readonly attribute PolicyEvaluatorLocatorPatternAdmin pattern_admin; PolicyDecisionEvaluators get_policy_decision_evaluators( in ResourceName resource_name ) raises (ComponentError); }; //******************************************************** // interface DecisionCombinator //******************************************************** interface DecisionCombinator{ boolean combine_decisions( in ResourceName resource_name, in Operation operation, in AttributeList attribute_list, in PolicyEvaluatorList policy_evaluator_list ) raises (ComponentError); }; //****************************************************** // interface PolicyEvaluator //****************************************************** interface PolicyEvaluator { readonly attribute PolicyEvaluatorAdmin pe_admin; DecisionResult evaluate( in ResourceName resource_name, in Operation operation, in AttributeList attribute_list ) raises (ComponentError); }; //****************************************************** // // Management Interfaces // //****************************************************** // interface AccessDecisionAdmin //****************************************************** interface AccessDecisionAdmin { PolicyEvaluatorLocator get_policy_evaluator_locator(); void set_policy_evaluator_locator ( in PolicyEvaluatorLocator policy_evaluator_locator ); DynamicAttributeService get_dynamic_attribute_service(); void set_dynamic_attribute_service( in DynamicAttributeService dynamic_attribute_service ); }; //******************************************************* // interface PolicyEvaluatorLocatorBasicAdmin //******************************************************* interface PolicyEvaluatorLocatorBasicAdmin { PolicyEvaluatorList set_default_evaluators( in PolicyEvaluatorList policy_evaluator_list ) raises (DuplicateEvaluatorName, InvalidPolicyEvaluatorList); PolicyEvaluatorList get_default_evaluators(); DecisionCombinator get_default_combinator (); void set_default_combinator( in DecisionCombinator decision_combinator ); }; //******************************************************* // interface PolicyEvaluatorLocatorNameAdmin //******************************************************* interface PolicyEvaluatorLocatorNameAdmin { PolicyEvaluatorList get_evaluators( in ResourceName resource_name ) raises (InvalidResourceName); void set_evaluators ( in PolicyEvaluatorList policy_evaluator_list, in ResourceName resource_name ) raises (InvalidPolicyEvaluatorList, InvalidResourceName, DuplicateEvaluatorName); void add_evaluators ( in PolicyEvaluatorList policy_evaluator_list, in ResourceName resource_name ) raises (InvalidResourceName, InvalidPolicyEvaluatorList, DuplicateEvaluatorName); void delete_evaluators ( in PolicyEvaluatorList policy_evaluator_list, in ResourceNamePattern resource_name ) raises (InvalidResourceName, InvalidPolicyEvaluatorList, DuplicateEvaluatorName); DecisionCombinator get_combinator ( in ResourceNamePattern resource_name ) raises (InvalidResourceName); void set_combinator ( in DecisionCombinator decision_combinator, in ResourceNamePattern resource_name ) raises (InvalidResourceName); void delete_combinator ( in ResourceNamePattern resource_name ) raises (InvalidResourceName); }; //******************************************************* // interface PolicyEvaluatorLocatorPatternAdmin //******************************************************* interface PolicyEvaluatorLocatorPatternAdmin { void register_resource_name_pattern( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternDuplicate, PatternConflict); void unregister_resource_name_pattern( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered, PatternInUse); PolicyEvaluatorList get_evaluators_by_pattern ( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered); void set_evaluators_by_pattern ( in PolicyEvaluatorList policy_evaluator_list, in ResourceNamePattern pattern ) raises (InputFormatError, PatternNotRegistered, DuplicateEvaluatorName); void add_evaluators_by_pattern ( in PolicyEvaluatorList policy_evaluator_list, in ResourceNamePattern pattern raises (InvalidResourceNamePattern, PatternNotRegistered, InvalidPolicyEvaluatorList, DuplicateEvaluatorName); void delete_evaluators_by_pattern ( in PolicyEvaluatorList policy_evaluator_list, in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered, InvalidPolicyEvaluatorList, DuplicateEvaluatorName); DecisionCombinator get_combinator_by_pattern ( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered); void set_combinator_by_pattern ( in DecisionCombinator decision_combinator, in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered); void delete_combinator_by_pattern ( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered); }; //******************************************************* // interface PolicyEvaluatorAdmin //******************************************************* interface PolicyEvaluatorAdmin { void set_policies( in PolicyNameList policy_names, in ResourceName resource_name ) raises (InvalidResourceName, ResourceNameNotFound, InvalidPolicyNameList); void add_policies( in PolicyNameList policy_names, in ResourceName resource_name ) raises (InvalidResourceName, ResourceNameNotFound, InvalidPolicyNameList); void delete_policies( in PolicyNameList policy_names, in ResourceName resource_name ) raises (InvalidResourceName, ResourceNameNotFound, InvalidPolicyNameList, NoAssociation); PolicyNameList list_policies(); PolicyName set_default_policy( in PolicyName policy_name ) raises (InvalidPolicy); }; }; #endif // _DF_RESOURCE_ACCESS_DECISION_IDL_ Actions taken: January 11, 2000: received issue January 9, 2001: closed issue Discussion: End of Annotations:===== X-Sender: carolbrt@mindspring.com X-Mailer: QUALCOMM Windows Eudora Pro Version 4.0 Date: Tue, 11 Jan 2000 23:48:33 -0600 To: issues@omg.org From: Carol Burt Subject: Fwd: RAD idl problems Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_947677713==_" X-UIDL: M%:e9VB!!!UG*!!TDi!! >X-MindSpring-Loop: cburt@2ab.com >From: "Chris White" >To: >Cc: , "Chris White" >Subject: RAD idl problems >Date: Tue, 11 Jan 2000 21:37:21 -0500 >X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) >Importance: Normal > >You have probably already caught these problems. Just in case you haven't I >am sending a modified copy. Mainly problems with missing or extra forward >declarations. > >You can probably ignore the 'include "cds_patches.idl". We are not using a >2.3 orb so we had to define some types that were needed by the 2.3 >security.idl. > >By the way, we are still working on extensions for policy location using >security attributes. > > //File: DfResourceAccessDecision.idl // #ifndef _DF_RESOURCE_ACCESS_DECISION_IDL_ #define _DF_RESOURCE_ACCESS_DECISION_IDL_ //#include "cds_patches.idl" //cds #include "Security.idl" #pragma prefix "omg.org" module DfResourceAccessDecision { //********************************************************* // Basic Types //********************************************************* typedef sequence BooleanList; typedef Security::AttributeList AttributeList; interface DynamicAttributeService; interface DecisionCombinator; interface PolicyEvaluator; interface PolicyEvaluatorLocator; // interface PolicyEvaluatorLocatorAdmin; //cds interface PolicyEvaluatorAdmin; interface PolicyEvaluatorLocatorBasicAdmin; // cds interface PolicyEvaluatorLocatorNameAdmin; // cds interface PolicyEvaluatorLocatorPatternAdmin; // cds //********************************************************* // Types that identify a secured resource //********************************************************* struct ResourceNameComponent { string name_string; string value_string; }; typedef sequence ResourceNameComponentList; typedef string ResourceNamingAuthority; struct ResourceName { ResourceNamingAuthority resource_naming_authority; ResourceNameComponentList resource_name_component_list; }; typedef ResourceName ResourceNamePattern; typedef string Operation; typedef sequence OperationList; //**************************************************** // Types associated with evaluating Access Policy //**************************************************** typedef string PolicyName; typedef sequence PolicyNameList; const PolicyName NO_ACCESS_POLICY = "NO_ACCESS_POLICY"; struct NamedPolicyEvaluator { string evaluator_name; PolicyEvaluator policy_evaluator; }; typedef sequence PolicyEvaluatorList; struct PolicyDecisionEvaluators { PolicyEvaluatorList policy_evaluator_list; DecisionCombinator decision_combinator; }; //**************************************************** // Types used to request an Access Decision //**************************************************** struct AccessDefinition { ResourceName resource_name; Operation operation; }; typedef sequence AccessDefinitionList; enum DecisionResult {ACCESS_DECISION_ALLOWED, ACCESS_DECISION_NOT_ALLOWED, ACCESS_DECISION_UNKNOWN }; //******************************************************** //* Exception Data types //******************************************************** struct ExceptionData { short error_code; string reason; }; enum InternalErrorType {Fatal, NotFatal}; //********************************************************* // Exception thrown by the Access Decision Object //********************************************************* exception InternalError{InternalErrorType et;}; //********************************************************* // Exception thrown by Internal non-admin interfaces //********************************************************* exception ComponentError{ ExceptionData ed; InternalErrorType et; }; //********************************************************* // Exceptions thrown by Admin Interfaces //********************************************************* exception PatternConflict {ExceptionData ed;}; exception PatternDuplicate {ExceptionData ed;}; exception PatternNotRegistered {ExceptionData ed;}; exception PatternInUse {ExceptionData ed;}; exception InputFormatError {ExceptionData ed;}; exception ResourceNameNotFound {ExceptionData ed;}; exception NoAssociation {ExceptionData ed;}; exception InvalidPolicy {ExceptionData ed;}; exception DuplicateEvaluatorName {ExceptionData ed;}; exception InvalidResourceName {}; exception InvalidResourceNamePattern {}; exception InvalidPolicyEvaluatorList { ExceptionData ed; NamedPolicyEvaluator first_invalid_element; }; exception InvalidPolicyNameList { ExceptionData ed; PolicyName first_invalid_element; }; //**************************************************** // interface AccessDecision //**************************************************** interface AccessDecision { boolean access_allowed( in ResourceName resource_name, in Operation operation, in AttributeList attribute_list ) raises (InternalError); BooleanList multiple_access_allowed( in AccessDefinitionList access_requests, in AttributeList attribute_list ) raises (InternalError); }; //****************************************************** // interface DynamicAttributeService //****************************************************** interface DynamicAttributeService { AttributeList get_dynamic_attributes( in AttributeList attribute_list, in ResourceName resource_name, in Operation operation ) raises (ComponentError); }; //****************************************************** // interface PolicyEvaluatorLocator //****************************************************** interface PolicyEvaluatorLocator { readonly attribute PolicyEvaluatorLocatorBasicAdmin basic_admin; readonly attribute PolicyEvaluatorLocatorNameAdmin name_admin; readonly attribute PolicyEvaluatorLocatorPatternAdmin pattern_admin; PolicyDecisionEvaluators get_policy_decision_evaluators( in ResourceName resource_name ) raises (ComponentError); }; //******************************************************** // interface DecisionCombinator //******************************************************** interface DecisionCombinator{ boolean combine_decisions( in ResourceName resource_name, in Operation operation, in AttributeList attribute_list, in PolicyEvaluatorList policy_evaluator_list ) raises (ComponentError); }; //****************************************************** // interface PolicyEvaluator //****************************************************** interface PolicyEvaluator { readonly attribute PolicyEvaluatorAdmin pe_admin; DecisionResult evaluate( in ResourceName resource_name, in Operation operation, in AttributeList attribute_list ) raises (ComponentError); }; //****************************************************** // // Management Interfaces // //****************************************************** // interface AccessDecisionAdmin //****************************************************** interface AccessDecisionAdmin { PolicyEvaluatorLocator get_policy_evaluator_locator(); void set_policy_evaluator_locator ( in PolicyEvaluatorLocator policy_evaluator_locator ); DynamicAttributeService get_dynamic_attribute_service(); void set_dynamic_attribute_service( in DynamicAttributeService dynamic_attribute_service ); }; //******************************************************* // interface PolicyEvaluatorLocatorBasicAdmin //******************************************************* interface PolicyEvaluatorLocatorBasicAdmin { PolicyEvaluatorList set_default_evaluators( in PolicyEvaluatorList policy_evaluator_list ) raises (DuplicateEvaluatorName, InvalidPolicyEvaluatorList); PolicyEvaluatorList get_default_evaluators(); DecisionCombinator get_default_combinator (); void set_default_combinator( in DecisionCombinator decision_combinator ); }; //******************************************************* // interface PolicyEvaluatorLocatorNameAdmin //******************************************************* interface PolicyEvaluatorLocatorNameAdmin { PolicyEvaluatorList get_evaluators( in ResourceName resource_name ) raises (InvalidResourceName); void set_evaluators ( in PolicyEvaluatorList policy_evaluator_list, in ResourceName resource_name ) raises (InvalidPolicyEvaluatorList, InvalidResourceName, DuplicateEvaluatorName); void add_evaluators ( in PolicyEvaluatorList policy_evaluator_list, in ResourceName resource_name ) raises (InvalidResourceName, InvalidPolicyEvaluatorList, DuplicateEvaluatorName); void delete_evaluators ( in PolicyEvaluatorList policy_evaluator_list, in ResourceNamePattern resource_name ) raises (InvalidResourceName, InvalidPolicyEvaluatorList, DuplicateEvaluatorName); DecisionCombinator get_combinator ( in ResourceNamePattern resource_name ) raises (InvalidResourceName); void set_combinator ( in DecisionCombinator decision_combinator, in ResourceNamePattern resource_name ) raises (InvalidResourceName); void delete_combinator ( in ResourceNamePattern resource_name ) raises (InvalidResourceName); }; //******************************************************* // interface PolicyEvaluatorLocatorPatternAdmin //******************************************************* interface PolicyEvaluatorLocatorPatternAdmin { void register_resource_name_pattern( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternDuplicate, PatternConflict); void unregister_resource_name_pattern( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered, PatternInUse); PolicyEvaluatorList get_evaluators_by_pattern ( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered); void set_evaluators_by_pattern ( in PolicyEvaluatorList policy_evaluator_list, in ResourceNamePattern pattern ) raises (InputFormatError, PatternNotRegistered, DuplicateEvaluatorName); void add_evaluators_by_pattern ( in PolicyEvaluatorList policy_evaluator_list, in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered, InvalidPolicyEvaluatorList, DuplicateEvaluatorName); void delete_evaluators_by_pattern ( in PolicyEvaluatorList policy_evaluator_list, in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered, InvalidPolicyEvaluatorList, DuplicateEvaluatorName); DecisionCombinator get_combinator_by_pattern ( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered); void set_combinator_by_pattern ( in DecisionCombinator decision_combinator, in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered); void delete_combinator_by_pattern ( in ResourceNamePattern pattern ) raises (InvalidResourceNamePattern, PatternNotRegistered); }; //******************************************************* // interface PolicyEvaluatorAdmin //******************************************************* interface PolicyEvaluatorAdmin { void set_policies( in PolicyNameList policy_names, in ResourceName resource_name ) raises (InvalidResourceName, ResourceNameNotFound, InvalidPolicyNameList); void add_policies( in PolicyNameList policy_names, in ResourceName resource_name ) raises (InvalidResourceName, ResourceNameNotFound, InvalidPolicyNameList); void delete_policies( in PolicyNameList policy_names, in ResourceName resource_name ) raises (InvalidResourceName, ResourceNameNotFound, InvalidPolicyNameList, NoAssociation); PolicyNameList list_policies(); PolicyName set_default_policy( in PolicyName policy_name ) raises (InvalidPolicy); }; }; #endif // _DF_RESOURCE_ACCESS_DECISION_IDL_ _________________________________________________________ Carol Burt 2AB, Inc. cburt@2ab.com Integration Architects 205-621-7455 ext 103 www.2ab.com Member, OMG Architecture Board OMG Domain Member _________________________________________________________ "Distributed Solutions for Distributed Business (SM)" X-Sender: carolbrt@mindspring.com X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Wed, 09 Aug 2000 16:59:07 -0500 To: rad-ftf@omg.org From: Carol Burt Subject: [RAD-FTF Issue 3211] Proposed resolution Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-UIDL: L/6!!3OB!!i[Qd9,ib!! Issue 3211 points out missing forwards in the DfResourceAccessDecision.idl Proposed Resolution: Change the list of forwards (starting with the first one below and continuing to the end of the section labeled "Basic Types" in the idl DfResourceAccessDecision file to read as follows: interface DynamicAttributeService; interface DecisionCombinator; interface PolicyEvaluator; interface PolicyEvaluatorAdmin; interface PolicyEvaluatorLocatorBasicAdmin; interface PolicyEvaluatorLocatorNameAdmin; interface PolicyEvaluatorLocatorPatternAdmin; Comments? Carol _________________________________________________________ Carol Burt 2AB, Inc. cburt@2ab.com www.2ab.com 205-621-7455 ext 103 Member, OMG Architecture Board OMG Domain Member _________________________________________________________ "Solutions for Distributed Business (SM)" X-Sender: carolbrt@mindspring.com X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Wed, 09 Aug 2000 21:45:27 -0500 To: rad-ftf@omg.org From: Carol Burt Subject: Fwd: RE: [RAD-FTF Issue 3211] Proposed resolution Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-UIDL: @n*e9"<;!!%_@!![TN!! X-MindSpring-Loop: cburt@2ab.com From: "Chris White" To: "Carol Burt" Subject: RE: [RAD-FTF Issue 3211] Proposed resolution Date: Wed, 9 Aug 2000 21:11:06 -0400 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Importance: Normal Great! -----Original Message----- From: Carol Burt [mailto:cburt@2ab.com] Sent: Wednesday, August 09, 2000 5:59 PM To: rad-ftf@omg.org Subject: [RAD-FTF Issue 3211] Proposed resolution Issue 3211 points out missing forwards in the DfResourceAccessDecision.idl Proposed Resolution: Change the list of forwards (starting with the first one below and continuing to the end of the section labeled "Basic Types" in the idl DfResourceAccessDecision file to read as follows: interface DynamicAttributeService; interface DecisionCombinator; interface PolicyEvaluator; interface PolicyEvaluatorAdmin; interface PolicyEvaluatorLocatorBasicAdmin; interface PolicyEvaluatorLocatorNameAdmin; interface PolicyEvaluatorLocatorPatternAdmin; Comments? Carol _________________________________________________________ Carol Burt 2AB, Inc. cburt@2ab.com www.2ab.com 205-621-7455 ext 103 Member, OMG Architecture Board OMG Domain Member _________________________________________________________ "Solutions for Distributed Business (SM)" _________________________________________________________ Carol Burt 2AB, Inc. cburt@2ab.com www.2ab.com 205-621-7455 ext 103 Member, OMG Architecture Board OMG Domain Member _________________________________________________________ "Solutions for Distributed Business (SM)"