SIFWorks ADK 2.0
ITopic Interface
NamespacesEdustructures.SifWorksITopic

[This is preliminary documentation and is subject to change.]

Aggregates publish, subscribe, and query activity across multiple zones. An agent typically registers with its zones at startup, creates Topic instances for the data types it is interested in, and then joins zones to each topic by calling Topic.addZone. A given Zone can only be joined to one Topic. If an agent wishes to manage publish and subscribe activity on a per-zone basis, it can do so by creating one Topic object for each zone instead of aggregating zones on a single Topic instance. The Adk applies publish, subscribe, and query functionality equally to all zones joined to a topic. Thus, if the topic provides authoritative data to its zones (that is, it is registered with the ZIS as a Provider), it will do so for all zones by delegating incoming queries to the Publisher registered with this topic. Similarly, the topic will send change events to all of its zones when the publish method is called, and will query all zones for data objects when the query method is called. (An exception to this is directed queries, which require that the caller specify a zone and agent name to direct the query.) Consult the Adk Developer Guide for more information about working with multiple zones.
Declaration Syntax
C#Visual BasicVisual C++
public interface ITopic
Public Interface ITopic
public interface class ITopic
Members
All MembersMethodsProperties



IconMemberDescription
GetPublisher()()
Gets the Publisher registered with this topic

GetQueryResultsObject()()
Gets the QueryResults object that is registered with this topic.

GetSubscriber()()
Gets the Subscriber registered with this topic

GetZones()()
Gets all zones joined to this topic

Join(IZone)
Joins a zone with this topic. All SIF messaging performed on this topic will be propagated to all zones joined with the topic. For example, calling the query method queries all of the topic's zones, and SIF_Responses received by each zone are first dispatched to the topic's QueryResults object.

ObjectType
Gets the name of the SIF Data Object associated with this topic

PurgeQueue(Boolean, Boolean)
Query(Query)
Query the topic by sending a SIF_Request message to all zones joined with the topic

Query(Query, IMessagingListener)
Query the topic by sending a SIF_Request message to all zones joined with the topic. This form of the query method also notifies a MessagingListener of any SIF_Request messaging that takes place.

Query(Query, AdkQueryOptions)
Query the topic by sending a SIF_Request message to all zones joined with the topic

Query(Query, IMessagingListener, AdkQueryOptions)
Query the topic by sending a SIF_Request message to all zones joined with the topic. This form of the query method also notifies a MessagingListener of any SIF_Request activity that takes place.

Query(Query, String, AdkQueryOptions)
Query the topic by sending a SIF_Request message to all zones joined with the topic

Query(Query, IMessagingListener, String, AdkQueryOptions)
Query the topic by sending a SIF_Request message to all zones joined with the topic. This form of the query method also notifies a MessagingListener of any SIF_Request messaging that takes place.

SetPublisher(IPublisher, ProvisioningFlags)
Register a Publisher message handler to process SIF_Request messages received on the zones joined with this topic. The message handler will be called whenever a SIF_Request is received for the SIF Data Object type associated with the topic. For Topics created to represent the SIF_ReportObject object type, register a publisher message handler with the setReportPublisher method instead.

SetQueryResults(IQueryResults)
Sets the QueryResults message handler registered with this topic. This object will be called whenever a SIF_Response message is received by one of the zones joined with this topic and the response contains data associated with the topic. Note that SIF_Response messages are dispatched to this handler only if the initial request was issued by calling one of the Topic.query methods.

SetReportPublisher(IReportPublisher, ProvisioningFlags)
Register a ReportPublisher message handler to process SIF_Request messages received for SIF_ReportObject objects from the zones joined with this topic. ReportPublisher is implemented by Vertical Reporting applications that publish report data via the SIF_ReportObject object (SIF 1.5 and later). This method must be called instead of setPublisher for topics created to represent the SIF_ReportObject data type.

SetSubscriber(ISubscriber, ProvisioningFlags)
Register a Subscriber message handler to process SIF_Event messages received on the zones joined with this topic. The message handler will be called whenever a SIF_Event is received for the SIF Data Object type associated with the topic.

Assembly: Edustructures.SifWorks.Adk (Module: Edustructures.SifWorks.Adk) Version: 2.0.0.10