Package com.crystaldecisions.sdk.plugin.desktop.event

This package provides an interface through which file events, schedule events, and user events can be created and monitored.

See:
          Description

Interface Summary
CeEventRightID Identifies the rights that can be applied to an event.
CeEvents Deprecated. Create event objects using their specific type instead, eg. create a FileEvent object.
IEvent This interface inherits from the IInfoObject and IEventBase interfaces.
IEventBase The IEvent interface provides properties to set the general information for all events, including, name. description, and type of event.
IFileEvent This interface allows you to manage the conditions for a file event to occur.
IFileEventBase This interface allows you to manage the conditions for a file event to occur.
INotificationEvent  
INotificationEventBase This interface allows you to manually trigger an event.
INotificationSchedule  
INotificationScheduleBase  
IScheduleEvent This interface allows you to set the criteria for triggering an event based on the results of a previously scheduled report.
IScheduleEventBase This interface allows you to set the criteria for triggering an event based on the results of a previously scheduled report.
IUserEvent This interface allows you to manually trigger an event.
IUserEventBase This interface allows you to manually trigger an event.
 

Package com.crystaldecisions.sdk.plugin.desktop.event Description

This package provides an interface through which file events, schedule events, and user events can be created and monitored. For more information on events, see "Managing Events" in the Crystal Enterprise Administrator's Guide.

The diagram below illustrates the object model that is implemented by the Event plugin:

Retrieving desktop plugins

Each object that is created with a desktop plugin is stored in either the CI_INFOOBJECTS or the CI_SYSTEMOBJECTS category in the APS InfoStore, and is marked with a programmatic identifier (ProgID). Using SI_PROGID, you can query the APS InfoStore for a collection of objects.

Example

The following example shows how to add an event to the system:

IInfoStore iStore = (IInfoStore) es.getService("", "InfoStore");

IPluginMgr pMgr = iStore.getPluginMgr();
IPluginInfo eventPlugin = pMgr.getPluginInfo("CrystalEnterprise.Event");

if ( eventPlugin.isInstalled() ) 
{
    IInfoObjects newCol = iStore.newInfoObjectCollection();
    IInfoObject newObj = newCol.add(eventPlugin);
    
    IEvent newEvent = (IEvent) newObj;

    newEvent.setEventName("Sample Event");
    newEvent.setDescription("This is a sample user event.");
    newEvent.setEventType(CeEvents.USER);

    iStore.commit( newCol );
}

Note: To retrieve the event that was added, query for its SI_ID.

To add an event plugin to the system, the Plugin Manager must be used to check if the plugin was successfully installed. Then, a new IInfoObjects collection must be created using the IInfoStore object. The event plugin can then be added to this new collection. Calling the add method will return the newly added plugin as an IInfoObject. This IInfoObject can then be cast as an IEvent plugin object so that the object's event specific properties can be accessed and modified.