OmeroBlitz API
Home Previous Up Next Index

omero::api::ServiceFactory

Overview

interface ServiceFactory extends cmd::Session

Starting point for all OMERO.blitz interaction.

A ServiceFactory once acquired can be used to create any number of service proxies to the server. Most services implement ServiceInterface or its subinterface StatefulServiceInterface.

Operation Index

getSecurityContexts
Provides a list of all valid security contexts for this session.
setSecurityContext
Changes the security context for the current session.
setSecurityPassword
Re-validates the password for the current session.
getAdminService
getConfigService
getContainerService
getLdapService
getPixelsService
getProjectionService
getQueryService
getRenderingSettingsService
getRepositoryInfoService
getRoiService
getScriptService
getSessionService
getShareService
getTimelineService
getTypesService
getUpdateService
getMetadataService
createExporter
createJobHandle
createRawFileStore
createRawPixelsStore
createRenderingEngine
createSearchService
createThumbnailStore
sharedResources
Returns a reference to a back-end manager.
getByName
Allows looking up any stateless service by name.
createByName
Allows looking up any stateful service by name.
subscribe
Subscribe to a given topic.
setCallback
Sets the single callback used by the ServiceFactory to communicate with the client application.
closeOnDestroy
Marks the session for closure rather than detachment, which will be triggered by the destruction of the Glacier2 connection via router.destroySession() Closing the session rather the detaching is more secure, since all resources are removed from the server and can safely be set once it is clear that a client is finished with those resources.
detachOnDestroy
Marks the session for detachment rather than closure, which will be triggered by the destruction of the Glacier2 connection via router.destroySession() This is the default and allows a lost session to be reconnected, at a slight security cost since the session will persist longer and can be used by others if the UUID is intercepted.
activeServices
Returns a list of string ids for currently active services.
keepAllAlive
Requests that the given services be marked as alive.
keepAlive
Returns true if the given service is alive.

Operations

IObjectList getSecurityContexts() throws ServerError

Provides a list of all valid security contexts for this session. Each of the returned model::IObject instances can be passed to {@code setSecurityContext}.

model::IObject setSecurityContext(model::IObject obj) throws ServerError

Changes the security context for the current session.

A security context limits the set of objects which will be returned by all queries and restricts what updates can be made.

Current valid values for security context:

Passing an unloaded version of either object type will change the way the current session operates. Note: only objects which are returned by the {@code getSecurityContext} method are considered valid. Any other instance will cause an exception to be thrown.

Example usage in Python:

sf = client.createSession()
objs = sf.getSecurityContexts()
old = sf.setSecurityContext(objs[-1])

void setSecurityPassword(string password) throws ServerError

Re-validates the password for the current session. This prevents See methods that mention "HasPassword".

IAdmin* getAdminService() throws ServerError

IConfig* getConfigService() throws ServerError

IContainer* getContainerService() throws ServerError

ILdap* getLdapService() throws ServerError

IPixels* getPixelsService() throws ServerError

IProjection* getProjectionService() throws ServerError

IQuery* getQueryService() throws ServerError

IRenderingSettings* getRenderingSettingsService() throws ServerError

IRepositoryInfo* getRepositoryInfoService() throws ServerError

IRoi* getRoiService() throws ServerError

IScript* getScriptService() throws ServerError

ISession* getSessionService() throws ServerError

IShare* getShareService() throws ServerError

ITimeline* getTimelineService() throws ServerError

ITypes* getTypesService() throws ServerError

IUpdate* getUpdateService() throws ServerError

IMetadata* getMetadataService() throws ServerError

Exporter* createExporter() throws ServerError

JobHandle* createJobHandle() throws ServerError

RawFileStore* createRawFileStore() throws ServerError

RawPixelsStore* createRawPixelsStore() throws ServerError

RenderingEngine* createRenderingEngine() throws ServerError

Search* createSearchService() throws ServerError

ThumbnailStore* createThumbnailStore() throws ServerError

grid::SharedResources* sharedResources() throws ServerError

Returns a reference to a back-end manager. The grid::SharedResources service provides look ups for various facilities offered by OMERO:

These facilities may or may not be available on first request.

See Also

grid::SharedResources

ServiceInterface* getByName(string name) throws ServerError

Allows looking up any stateless service by name. See Constants.ice for examples of services. If a service has been added by third-parties, getByName can be used even though no concrete method is available.

StatefulServiceInterface* createByName(string name) throws ServerError

Allows looking up any stateful service by name. See Constants.ice for examples of services. If a service has been added by third-parties, createByName can be used even though no concrete method is available.

void subscribe(string topicName, Object* prx) throws ServerError

Subscribe to a given topic. The topic must exist and the user must have sufficient permissions for that topic. Further the proxy object must match the required type for the topic as encoded in the topic name.

void setCallback(ClientCallback* callback) throws ServerError

Sets the single callback used by the ServiceFactory to communicate with the client application. A default callback is set by the omero::client object on session creation which should suffice for most usage. See the client object's documentation in each language mapping for ways to use the callback.

void closeOnDestroy() throws ServerError

Marks the session for closure rather than detachment, which will be triggered by the destruction of the Glacier2 connection via router.destroySession() Closing the session rather the detaching is more secure, since all resources are removed from the server and can safely be set once it is clear that a client is finished with those resources.

void detachOnDestroy() throws ServerError

Marks the session for detachment rather than closure, which will be triggered by the destruction of the Glacier2 connection via router.destroySession() This is the default and allows a lost session to be reconnected, at a slight security cost since the session will persist longer and can be used by others if the UUID is intercepted.

StringSet activeServices() throws ServerError

Returns a list of string ids for currently active services. This will _not_ keep services alive, and in fact checks for all expired services and removes them.

long keepAllAlive(ServiceList proxies) throws ServerError

Requests that the given services be marked as alive. It is possible that one of the services has already timed out, in which case the returned long value will be non-zero. Specifically, the bit representing the 0-based index will be 1: {@code if (retval & 1<<idx == 1<<idx) { // not alive } } Except for fatal server or session errors, this method should never throw an exception.

bool keepAlive(ServiceInterface* proxy) throws ServerError

Returns true if the given service is alive. Except for fatal server or session errors, this method should never throw an exception.


Home Previous Up Next Index