Previous Table of Contents Next


3.1.8.2 IDL


Figure 3-3 DAIS type IDL in UML

//File DAISType.idl

#ifndef _DAIS_TYPE_IDL

#define _DAIS_TYPE_IDL

#pragma prefix "omg.org"

#include "DAISCommon.idl"

module DAIS {

module Type {

struct Description {

ResourceID

ResourceID

string

string

ResourceIDs

};

typedef sequence<Description>

interface Iterator

{

boolean next_n (

in unsigned long

out Descriptions

);

id;
schema;
label;
descrip;
aggregated_types;
Descriptions;
n,
types

   void reset();Iterator clone();void destroy();

   };

   interface IHome { exception UnknownResourceID {string reason;};

   Description find (in ResourceID type) raises (UnknownResourceID);

   Iterator find_by_schema ( in ResourceID schema

   ) raises (UnknownResourceID); };};}; #endif // _DAIS_TYPE_IDL

   Description

   A struct describing a type.

Member Description
id The identification of this type.
schema The identification of the schema where the type is defined.
label The label of the type.
descrip A description of the type.
aggregated_types A sequence of type identifications that a node of this type may contain. This information is intended as a guide when the type filter is specified for the find_by_type() methods.

   IHome

   An object used to browse the types. There is no corresponding interface in OPC.

   UnknownResourceID

   An exception telling that the ResourceID is unknown. The likely reason behind this exception is some misunderstanding between the server and client code due to a programming error.

   find()

   For a given type, return information about that type.

Parameter

Description

type A type identification.
return The type description.

   find_by_schema()

   For a given schema, find all types defined by that schema.

Parameter

Description

schema The identification of the schema.
return A sequence of type descriptions.