OSF DCE Application Development Guide--Core Components

OSF DCE Application Development Guide—Core Components
28.4.1 Defining an Attribute Trigger/Attribute Association
When an attribute is created with the sec_rgy_attr_update( ) call, you define the
association between the attribute type and an attribute trigger by specifying the
following:
Trigger Type
Defines the trigger as a query server (invoked for query operations) or an update
server (invoked for updates operations). The trigger type is defined in a
sec_attr_trig_type_t data type, which is used by a sec_attr_schema_entry_t data
type.
Trigger Binding
Defines the server binding handle for the attribute trigger. The details of the trigger
binding are defined in a number of data types, which are also used by the
sec_attr_schema_entry_t data type. Trigger binding is described in detail in
Section 28.1.3.7.
Only if both of pieces of information are provided will the association between the
attribute type and the attribute trigger be created. You can associate an attribute trigger
to any attribute type of any encoding except for attribute sets.
28.4.1.1 Query Triggers
When you execute a call that accesses an attribute associated with a query trigger, the
client-side attribute lookup code performs the following tasks:
Binds to the attribute trigger (using a binding from the attribute type’s schema entry)
Makes the remote sec_attr_trig_query( ) call to the attribute trigger server, passing
in the attribute keys and optional information provided by the caller
If the sec_attr_trig_query() call is successful, returns the output attribute(s) to the
caller
If you execute a sec_rgy_attr( ) update call with an attribute type that is associated with
a query trigger, not an update trigger, the input attribute values is ignored and a ‘‘stub’’
attribute instance is created on the named object simply to mark the existence of this
attribute on the object. Modifications to the real attribute value must occur at the
attribute trigger.
28.4.1.2 Update Triggers
When you execute a call that accesses an attribute associated with an update trigger, the
client-side attribute update code performs the following tasks:
2820 Tandem Computers Incorporated 124245