// // Copyright (c)1998-2011 Pearson Education, Inc. or its affiliate(s). // All rights reserved. // package openadk.library.impl; import openadk.library.*; import openadk.library.infra.*; import openadk.library.services.ServiceRequestInfo; /** * The ISIFPrimitives interface is implemented by internal ADK classes that * implement primitive SIF messaging functionality such as SIF_Register, SIF_Event, * and SIF_SystemControl. Internal ADK classes always delegate low-level SIF * functions to the global ISIFPrimitives object provided by the static <code> * ADK.getPrimitives</code> method. * * @author Eric Petersen * @version 1.0 */ public interface ISIFPrimitives { /** * SIF_Register * @param zone * @return * @throws ADKException */ public SIF_Ack sifRegister( Zone zone ) throws ADKException; /** * SIF_Unregister * @param zone * @return * @throws ADKException */ public SIF_Ack sifUnregister( Zone zone ) throws ADKException; /** * SIF_Subscribe * @param zone * @param objectType * @return * @throws ADKException */ public SIF_Ack sifSubscribe( Zone zone, String[] objectType ) throws ADKException; /** * SIF_Unsubscribe * @param zone * @param objectType * @return * @throws ADKException */ public SIF_Ack sifUnsubscribe( Zone zone, String[] objectType ) throws ADKException; /** * SIF_Provide * @param zone * @param objectType * @return * @throws ADKException */ public SIF_Ack sifProvide( Zone zone, String[] objectType ) throws ADKException; /** * SIF_Unprovide * @param zone * @param objectType * @return * @throws ADKException */ public SIF_Ack sifUnprovide( Zone zone, String[] objectType ) throws ADKException; /** * SIF_Ping * @param zone * @return * @throws ADKException */ public SIF_Ack sifPing( Zone zone ) throws ADKException; /** * SIF_ZoneStatus * @param zone * @return * @throws ADKException */ public SIF_Ack sifZoneStatus( Zone zone ) throws ADKException; /** * SIF_GetAgentACL * @param zone * @return * @throws ADKException */ public SIF_Ack sifGetAgentACL( Zone zone ) throws ADKException; /** * SIF_Provision * @param zone * @param providedObjects * @param subscribeObjects * @param publishAddObjects * @param publishChangeObjects * @param publishDeleteObjects * @param requestObjects * @param respondObjects * @return * @throws ADKException */ public SIF_Ack sifProvision( Zone zone, SIF_ProvideObjects providedObjects, SIF_SubscribeObjects subscribeObjects, SIF_PublishAddObjects publishAddObjects, SIF_PublishChangeObjects publishChangeObjects, SIF_PublishDeleteObjects publishDeleteObjects, SIF_RequestObjects requestObjects, SIF_RespondObjects respondObjects ) throws ADKException; /** * SIF_Sleep * @param zone * @return * @throws ADKException */ public SIF_Ack sifSleep( Zone zone ) throws ADKException; /** * SIF_Wakeup * @param zone * @return * @throws ADKException */ public SIF_Ack sifWakeup( Zone zone ) throws ADKException; /** * Sends a SIF_Event * @param zone * @param event * @param destinationId * @param sifMsgId * @return * @throws ADKException */ public SIF_Ack sifEvent( Zone zone, Event event, String destinationId, String sifMsgId ) throws ADKException; /** * SIF_Request * @param zone * @param query * @param destinationId * @param sifMsgId * @return * @throws ADKException */ public SIF_Ack sifRequest( Zone zone, Query query, String destinationId, String sifMsgId ) throws ADKException; /** * SIF_CancelRequests * @param zone * @param destinationId * @param sifMsgIds * @return * @throws ADKException */ public SIF_Ack sifCancelRequests(ZoneImpl zoneImpl, String destinationId, String[] sif_MsgIds) throws ADKException; /** * SIF_Request * @param zone * @param query * @param destinationId * @param sifMsgId * @return * @throws ADKException */ public SIF_Ack sifServiceRequest( Zone zone, ServiceRequestInfo requestInfo, SIFElement payload ) throws ADKException; public SIF_Ack sifServiceEvent(Zone zone, ServiceEvent event, String destinationId) throws ADKException; }