Previous | Table of Contents | Next |
//File: DAISGroupEntry.idl #ifndef _DAIS_GROUP_ENTRY_IDL #define _DAIS_GROUP_ENTRY_IDL #pragma prefix "omg.org" #include <DAISCommon.idl>
module DAIS { module DataAccess { module GroupEntry {
struct Description
{ServerItemIdentificationstringClientItemHandleSimpleValueTypeboolean};typedef sequence<Descriptionstruct DetailedDescription{ |
|||||
server_item_id; | |||||
access_path; | |||||
client_handle; | |||||
requested_data_type; | |||||
active; | |||||
> | Descriptions; | ||||
ItemID | item; | ||||
string | pathname; | ||||
string | access_path; | ||||
ServerItemHandle | server_handle; |
ClientItemHandle client_handle;SimpleValueType requested_data_type;SimpleValueType canonical_data_type;AccessRights access_rights;boolean active;
};typedef sequence<DetailedDescription> DetailedDescriptions;
struct Result
{ ServerItemHandle server_handle; ClientItemHandle client_handle; AccessRights access_rights; SimpleValueType canonical_data_type;
};typedef sequence<Result> Results;
struct HandleAssociation
{ ServerItemHandle server_handle; ClientItemHandle client_handle;
}; typedef sequence<HandleAssociation>HandleAssociations;
struct DataTypeDescription
{ ServerItemHandle server_handle; SimpleValueType requested_data_type;
}; typedef sequence<DataTypeDescription>DataTypeDescriptions;
interface Iterator {
boolean next_n (in unsigned long n,out DetailedDescriptions entries
); void reset(); Iterator clone(); void destroy();
};
interface Manager {
Results create_entries (in Descriptions entries,out ItemErrors errors
);
Results validate_entries (
inout);ItemErrors remove_entries (in);ItemErrors set_active_state (in);ItemErrors set_inactive_state (in);ItemErrors set_client_handles (in);ItemErrors set_data_types (in); |
Descriptions |
entries, |
|||
ItemErrors | errors | ||||
ServerItemHandles | server_handles | ||||
ServerItemHandles | server_handles | ||||
ServerItemHandles | server_handles | ||||
HandleAssociations | handle_associations | ||||
DataTypeDescriptions | descriptions | ||||
Iterator create_group_entry_iterator ();};};};};#endif // _DAIS_GROUP_ENTRY_IDL
Description
The struct describes a group entry for an item. The client to configure new entries in a group uses it. It directly corresponds
to the OPCItemDef struct.
Member | Description | ||||
server_item_id | The identification of the item. | ||||
access_path | The access path used by the server to connect to the device and sensor. An empty string as input tells the server to select the access path. | ||||
client_handle | The client provided handle to the item. | ||||
requested_data_type | The data type requested by the client for the value. | ||||
active | Tells if the item is active and data from devices is updated in the cache. |
DetailedDescription
The struct is used to deliver group entry information to the client. In OPC this is made with the struct OPCITEMATTRIBUTES.
Description is used for both these OPC structs.
Member | Description | ||||
item | The item identification by an ItemID. | ||||
pathname | A string concatenating the labels for all nodes in the path from the item up to the root. | ||||
access_path | The access path used by the server to connect to the device and sensor. An empty string as input tells the server to select the access path. | ||||
server_handle | Server provided handle for the item. | ||||
client_handle | Client provided handle for the item. | ||||
requested_data_type | The data type requested by the client for the value. | ||||
canonical_data_type | The data type the server uses internally for the value. | ||||
access_rights | The access rights (read, write, and read-write) | ||||
active | Tells if the item is active and data from devices is updated in the cache. |
Result
The struct is used to transfer the result from a create_entries() or validate_entries() call back to a client. In OPC the
corresponding struct is OPCITEMRESULT.
Member |
Description |
||||
server_handle | The handle given to the client for the item. | ||||
client_handle | The supplied client handle for the item. | ||||
access_rights | The access rights (read, write, and read-write) | ||||
canonical_data_type | The data type the server uses internally for the value. |
HandleAssociation
The struct is used to change the association between server handles and client handles in the set_client_handle() method.
Member |
Description |
||||
server_handle | The handle given to the client for the item. | ||||
client_handle | The new client handle wanted by the client. |
DataTypeDescription
The struct is used to change the data type of the value delivered in the ItemState struct.
Member |
Description |
||||
server_handle | The handle given to the client for the item. | ||||
requested_data_type | The new data type wanted by the client. |
Iterator
Refer to
Section 3.1.6, “Iterator Methods IDL,? on page 3-10. The interface directly
corresponds to the EnumOPCItemAttributes interface.
Manager
An interface for creation and browsing of group entries. The interface directly corresponds to the IOPCItemMgt interface.
create_entries()
Adds one or more entries to a group.
Parameter | Description | ||||
entries | Group entry descriptions for entries to be created. | ||||
errors | A sequence of structs reporting the items that were not entered due to an error. Reported errors are: • ERROR_UNKNOWN_ITEMID • ERROR_UNKNOWN_PATHNAME • ERROR_BAD_TYPE • ERROR_UNKNOWN_ACCESS_PATH | ||||
return | A sequence of result descriptions for the entries that were entered in the group. |
validate_entries()
Is used to determine if an item is valid (could it be added without error). Also returns information about the item such as
canonical datatype. Does not affect the group in any way.
Parameter | Description | ||||
entries | Group entry descriptions for entries to be validated. | ||||
errors | A sequence of structs reporting the items that could not be validated due to an error. Reported errors are: • ERROR_UNKNOWN_ITEMID • ERROR_UNKNOWN_PATHNAME • ERROR_BAD_TYPE • ERROR_UNKNOWN_ACCESS_PATH | ||||
return | A sequence of result descriptions for the entries that were validated. |
remove_entries()
Used to remove entries from a group.
Parameter | Description | ||||
server_handles | Server handles for entries that shall be removed. | ||||
return | A sequence of structs reporting the items that were not recognized or could not be removed due to an error. Reported error(s): • ERROR_UNKNOWN_ITEMID |
set_active_state()
Used to activate individual items in a group. Activate state means that the server acquires data from devices. Inactive state
means that the server does not acquire any data. The group enable state control if acquired data shall be sent further to
subscribers via on_data_change.
Parameter | Description | ||||
server_handles | Server handles for items to activate. | ||||
return | A sequence of structs reporting the items that were not recognized or could not be activated due to an error. Reported error(s): • ERROR_UNKNOWN_ITEMID |
set_inactive_state()
Used to deactivate individual items in a group.
Parameter | Description | ||||
server_handles | Server handles for items to deactivate. | ||||
return | A sequence of structs reporting the items that were not recognized or could not be deactivated due to an error. Reported error(s): • ERROR_UNKNOWN_ITEMID |
set_client_handles()
Used to change the client handles for items.
Parameter | Description | ||||
handle_associations | Change descriptions for the items where to change the client handles. | ||||
return | A sequence of structs reporting the items that were not recognized or could not be updated due to an error. Reported error(s): • ERROR_UNKNOWN_ITEMID |
set_data_types()
Used to change the requested data types for items.
Parameter | Description | ||||
descriptions | Change descriptions for the items where to change the data types. | ||||
return | A sequence of structs reporting the items that were not recognized or could not be updated due to an error. Reported errors are: • ERROR_UNKNOWN_ITEMID • ERROR_BAD_TYPE |
create_group_entry_iterator()
Used to create a group entry iterator. Used by clients to inspect existing group entries.