TAO_Notify_Constraint_Visitor Class Reference

#include <Notify_Constraint_Visitors.h>

Collaboration diagram for TAO_Notify_Constraint_Visitor:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Notify_Constraint_Visitor (void)
 Constructor.
int bind_structured_event (const CosNotification::StructuredEvent &s_event)
 Put the event data into our hash map.
CORBA::Boolean evaluate_constraint (TAO_ETCL_Constraint *root)
int visit_literal (TAO_ETCL_Literal_Constraint *)
int visit_identifier (TAO_ETCL_Identifier *)
int visit_union_value (TAO_ETCL_Union_Value *)
int visit_union_pos (TAO_ETCL_Union_Pos *)
int visit_component_pos (TAO_ETCL_Component_Pos *)
int visit_component_assoc (TAO_ETCL_Component_Assoc *)
int visit_component_array (TAO_ETCL_Component_Array *)
int visit_special (TAO_ETCL_Special *)
int visit_component (TAO_ETCL_Component *)
int visit_dot (TAO_ETCL_Dot *)
int visit_eval (TAO_ETCL_Eval *)
int visit_default (TAO_ETCL_Default *)
int visit_exist (TAO_ETCL_Exist *)
int visit_unary_expr (TAO_ETCL_Unary_Expr *)
int visit_binary_expr (TAO_ETCL_Binary_Expr *)
int visit_preference (TAO_ETCL_Preference *)

Protected Types

 FILTERABLE_DATA
 HEADER
 FIXED_HEADER
 EVENT_TYPE
 DOMAIN_NAME
 TYPE_NAME
 EVENT_NAME
 VARIABLE_HEADER
 REMAINDER_OF_BODY
 EMPTY
enum  structured_event_field {
  FILTERABLE_DATA, HEADER, FIXED_HEADER, EVENT_TYPE,
  DOMAIN_NAME, TYPE_NAME, EVENT_NAME, VARIABLE_HEADER,
  REMAINDER_OF_BODY, EMPTY
}

Protected Member Functions

int visit_or (TAO_ETCL_Binary_Expr *)
int visit_and (TAO_ETCL_Binary_Expr *)
int visit_twiddle (TAO_ETCL_Binary_Expr *)
int visit_in (TAO_ETCL_Binary_Expr *)
int visit_binary_op (TAO_ETCL_Binary_Expr *binary_expr, int op_type)
CORBA::Boolean sequence_does_contain (const CORBA::Any *any, TAO_ETCL_Literal_Constraint &item)
CORBA::Boolean array_does_contain (const CORBA::Any *any, TAO_ETCL_Literal_Constraint &item)
CORBA::Boolean struct_does_contain (const CORBA::Any *any, TAO_ETCL_Literal_Constraint &item)
CORBA::Boolean union_does_contain (const CORBA::Any *any, TAO_ETCL_Literal_Constraint &item)
CORBA::Boolean any_does_contain (const CORBA::Any *any, TAO_ETCL_Literal_Constraint &item)
CORBA::Boolean simple_type_match (int expr_type, CORBA::TCKind tc_kind)

Protected Attributes

structured_event_field implicit_id_
 Storage for the type of implicit id the component has (if any).
ACE_Hash_Map_Manager< ACE_CString,
structured_event_field, ACE_Null_Mutex
implicit_ids_
ACE_Hash_Map_Manager< ACE_CString,
CORBA::Any, ACE_Null_Mutex
filterable_data_
 Used to lookup names and values in the event's 'filterable_data' field.
ACE_Hash_Map_Manager< ACE_CString,
CORBA::Any, ACE_Null_Mutex
variable_header_
 Used to lookup names and values in the event's 'variable_header' field.
CORBA::String_var domain_name_
CORBA::String_var type_name_
CORBA::String_var event_name_
CORBA::Any remainder_of_body_
 Storage for the structured_event's 'remainder_of_body' field.
ACE_Unbounded_Queue< TAO_ETCL_Literal_Constraint > queue_
 The result of a non_boolean operation.
CORBA::Any_var current_value_
CORBA::String_var current_name_

Static Protected Attributes

static const size_t implicit_ids_size_ = 27
static const size_t filterable_data_size_ = 31
static const size_t variable_header_size_ = 31

Member Enumeration Documentation

enum TAO_Notify_Constraint_Visitor::structured_event_field [protected]

Enumerator:
FILTERABLE_DATA 
HEADER 
FIXED_HEADER 
EVENT_TYPE 
DOMAIN_NAME 
TYPE_NAME 
EVENT_NAME 
VARIABLE_HEADER 
REMAINDER_OF_BODY 
EMPTY 


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Notify_Constraint_Visitor::TAO_Notify_Constraint_Visitor ( void   ) 

Constructor.


Member Function Documentation

CORBA::Boolean TAO_Notify_Constraint_Visitor::any_does_contain ( const CORBA::Any *  any,
TAO_ETCL_Literal_Constraint &  item 
) [protected]

CORBA::Boolean TAO_Notify_Constraint_Visitor::array_does_contain ( const CORBA::Any *  any,
TAO_ETCL_Literal_Constraint &  item 
) [protected]

int TAO_Notify_Constraint_Visitor::bind_structured_event ( const CosNotification::StructuredEvent s_event  ) 

Put the event data into our hash map.

CORBA::Boolean TAO_Notify_Constraint_Visitor::evaluate_constraint ( TAO_ETCL_Constraint *  root  ) 

Returns 1 if the event satisfies the constraint represented by the the expression tree rooted at <root>, 0 if it doesn't. If an error occurs during the process, the traversal automatically fails.

CORBA::Boolean TAO_Notify_Constraint_Visitor::sequence_does_contain ( const CORBA::Any *  any,
TAO_ETCL_Literal_Constraint &  item 
) [protected]

CORBA::Boolean TAO_Notify_Constraint_Visitor::simple_type_match ( int  expr_type,
CORBA::TCKind  tc_kind 
) [protected]

CORBA::Boolean TAO_Notify_Constraint_Visitor::struct_does_contain ( const CORBA::Any *  any,
TAO_ETCL_Literal_Constraint &  item 
) [protected]

CORBA::Boolean TAO_Notify_Constraint_Visitor::union_does_contain ( const CORBA::Any *  any,
TAO_ETCL_Literal_Constraint &  item 
) [protected]

int TAO_Notify_Constraint_Visitor::visit_and ( TAO_ETCL_Binary_Expr *   )  [protected]

int TAO_Notify_Constraint_Visitor::visit_binary_expr ( TAO_ETCL_Binary_Expr *   ) 

int TAO_Notify_Constraint_Visitor::visit_binary_op ( TAO_ETCL_Binary_Expr *  binary_expr,
int  op_type 
) [protected]

int TAO_Notify_Constraint_Visitor::visit_component ( TAO_ETCL_Component *   ) 

int TAO_Notify_Constraint_Visitor::visit_component_array ( TAO_ETCL_Component_Array *   ) 

int TAO_Notify_Constraint_Visitor::visit_component_assoc ( TAO_ETCL_Component_Assoc *   ) 

int TAO_Notify_Constraint_Visitor::visit_component_pos ( TAO_ETCL_Component_Pos *   ) 

int TAO_Notify_Constraint_Visitor::visit_default ( TAO_ETCL_Default *   ) 

int TAO_Notify_Constraint_Visitor::visit_dot ( TAO_ETCL_Dot *   ) 

int TAO_Notify_Constraint_Visitor::visit_eval ( TAO_ETCL_Eval *   ) 

int TAO_Notify_Constraint_Visitor::visit_exist ( TAO_ETCL_Exist *   ) 

int TAO_Notify_Constraint_Visitor::visit_identifier ( TAO_ETCL_Identifier *   ) 

int TAO_Notify_Constraint_Visitor::visit_in ( TAO_ETCL_Binary_Expr *   )  [protected]

int TAO_Notify_Constraint_Visitor::visit_literal ( TAO_ETCL_Literal_Constraint *   ) 

int TAO_Notify_Constraint_Visitor::visit_or ( TAO_ETCL_Binary_Expr *   )  [protected]

int TAO_Notify_Constraint_Visitor::visit_preference ( TAO_ETCL_Preference *   ) 

int TAO_Notify_Constraint_Visitor::visit_special ( TAO_ETCL_Special *   ) 

int TAO_Notify_Constraint_Visitor::visit_twiddle ( TAO_ETCL_Binary_Expr *   )  [protected]

int TAO_Notify_Constraint_Visitor::visit_unary_expr ( TAO_ETCL_Unary_Expr *   ) 

int TAO_Notify_Constraint_Visitor::visit_union_pos ( TAO_ETCL_Union_Pos *   ) 

int TAO_Notify_Constraint_Visitor::visit_union_value ( TAO_ETCL_Union_Value *   ) 


Member Data Documentation

CORBA::String_var TAO_Notify_Constraint_Visitor::current_name_ [protected]

Holder for a string name in the event fields fixed_header, variable_header, or filterable_data.

CORBA::Any_var TAO_Notify_Constraint_Visitor::current_value_ [protected]

Holder for a value found in the event fields filterable_data, variable_header or remainder_of_body.

CORBA::String_var TAO_Notify_Constraint_Visitor::domain_name_ [protected]

Storage for string names under the structured event's 'fixed_header' field.

CORBA::String_var TAO_Notify_Constraint_Visitor::event_name_ [protected]

ACE_Hash_Map_Manager<ACE_CString, CORBA::Any, ACE_Null_Mutex> TAO_Notify_Constraint_Visitor::filterable_data_ [protected]

Used to lookup names and values in the event's 'filterable_data' field.

const size_t TAO_Notify_Constraint_Visitor::filterable_data_size_ = 31 [static, protected]

Size of filterable_data_ hash map. TODO: define inline once VC6 support is deprecated.

structured_event_field TAO_Notify_Constraint_Visitor::implicit_id_ [protected]

Storage for the type of implicit id the component has (if any).

ACE_Hash_Map_Manager<ACE_CString, structured_event_field, ACE_Null_Mutex> TAO_Notify_Constraint_Visitor::implicit_ids_ [protected]

Lookup table for the implicit ids, to avoid string comparisons in derived visitors.

const size_t TAO_Notify_Constraint_Visitor::implicit_ids_size_ = 27 [static, protected]

Size of implicit_ids_ hash map.

Note:
A fixed set of 9 keys are stored in this map. In the absence of a minimal perfect hash, ACE's default hash_pjw() and a hash size of 27 ensures each element is hashed to a unique bucket. TODO: define inline once VC6 support is deprecated.

ACE_Unbounded_Queue<TAO_ETCL_Literal_Constraint> TAO_Notify_Constraint_Visitor::queue_ [protected]

The result of a non_boolean operation.

CORBA::Any TAO_Notify_Constraint_Visitor::remainder_of_body_ [protected]

Storage for the structured_event's 'remainder_of_body' field.

CORBA::String_var TAO_Notify_Constraint_Visitor::type_name_ [protected]

ACE_Hash_Map_Manager<ACE_CString, CORBA::Any, ACE_Null_Mutex> TAO_Notify_Constraint_Visitor::variable_header_ [protected]

Used to lookup names and values in the event's 'variable_header' field.

const size_t TAO_Notify_Constraint_Visitor::variable_header_size_ = 31 [static, protected]

Size of variable_header_ hash map. TODO: define inline once VC6 support is deprecated.


The documentation for this class was generated from the following files:
Generated on Thu Mar 22 07:52:53 2007 for TAO_CosNotification by  doxygen 1.4.7-1