Notify

ILxNotifySysService

class ILxNotifySysService

The notification service is used to manage different notifiers, such as adding new notifiers or walking the notifier list.

Public Functions

LxResult ScriptQuery(LXtObjectID self, void **ppvObj)

Request ScriptQuery() method.

LxResult Spawn(LXtObjectID self, const char *name, const char *args, void **ppvObj)

A new notifier can be instanced with this function. The plug-in class name and argument string are provided. If the notifier with these arguments already exists, that notifier is used instead. IF a notifier with this name and exact arguments is already instanced, it will be returned instead of spawning a new one. In both cases the returned object must be released when no longer needed.

LxResult Count(LXtObjectID self, unsigned int *count)

These functions can be used to walk the list of instanced notifiers. As usual, the client must release any objects returned by ByIndex(), NameByIndex() and Lookup().

LxResult ByIndex(LXtObjectID self, unsigned int index, void **ppvObj)
LxResult NameByIndex(LXtObjectID self, unsigned int index, const char **name)
LxResult Lookup(LXtObjectID self, const char *name, const char *args, void **ppvObj)

Notifiers that have been instanced can be looked up with this function. This will fail if the notifier has not been instanced, and the returned notifier must be released when no longer needed.

  • LXsNOTIFIER_SELECT

  • LXsNOTIFIER_MESHES

  • LXsNOTIFIER_ITEM

  • LXsNOTIFIER_GRAPHS

  • LXsNOTIFIER_CHANNEL

  • LXsNOTIFIER_ACTION

ILxNotifier

class ILxNotifier

Individual notifiers support this interface. The notifier itself simply monitors one or more event ports and sends an ILxNotify object as the event data to the client. Some clients might except more interfaces on the object; for example, the attribute system expects notifiers for command states to include an ILxCommandNotify interface so it can know if the command’s value, label or datatype needs refreshing. The ILxNotify object is temporary, and must be released by the ILxNotifier after the event has been sent.

Public Functions

LxResult Name(LXtObjectID self, const char **name)

Get the name of the notifier, which should always be the same as the plug-in’s name own name.

LxResult SetArgs(LXtObjectID self, const char *args)

These set and get the argument strings. The argument string allows specific events to be filtered through the notifier. For example, a tool notifier might only recognize specific tools, with the tool name provided through the argument string.

LxResult Args(LXtObjectID self, const char **args)
LxResult AddClient(LXtObjectID self, LXtObjectID object)

A client is added to a notifier through this method. The client object has to implement an interface compatible with this type of modifier.

LxResult RemoveClient(LXtObjectID self, LXtObjectID object)

This removes a client from a notifier that has been previously added.

ILxNotify

class ILxNotify

The notification service is used to manage different notifiers, such as adding new notifiers or walking the notifier list.

Public Functions

LxResult Notifier(LXtObjectID self, void **ppvObj)

The notifier that triggered this event is avaible to the client. This allows the notifier’s name and arguments to be read out.