Previous Table of Contents Next


4.2.7.1 DAIS::DataAccess::Group Overview


   A group is a collection of items and a connection to one or more consumers of item values. Clients create groups and their lifetime is bounded by the session to which they belong. (See Section 4.2.2, “DAISDASession IDL,? on page 4-8).

   The purpose of a group is to convey selected item values to a client. A callback object may be connected to a group to receive item value information (see Section 4.2.5, “DAISDAIO IDL,? on page 4-23). Items may be added and removed from a group as group entries (see Section 4.2.6, “DAISGroupEntry IDL,? on page 4-32). A group has an update rate that determines how frequently updated values for its entries are notified to its connected callback objects. A group also has other states that control its notification behavior.

   A group may also be initialized with a predefined set of entries. A set of entries is called a public group and is identified by a ResourceID. A client can create or remove public groups. A server may represent a public group as a node such that the ResourceID of the public group and the node are identical. This would allow clients to locate public groups by name.

   The DAIS:: DataAccess::Group::Manager object implements interfaces from the DAISDAIO and DAISGroupEntry IDLs. This is specified by inheritance of interfaces as seen in Figure 4-14 . A DAIS::DataAccess::Group::Manager has a state given by the DAIS::DataAccess::Group::State struct and a DAIS::DataAccess::Group::Manager object is created from the DAIS::DataAccess::Group::IHome object.

   In OPC the Group interface corresponds to the interfaces IOPCGroupStateMgt and IOPCPublicGroupStateMgt.


   




   







   






   




   





   




   





   Figure 4-14 DAIS data access group IDL in UML