Lumiera  0.pre.03
DisplayService Class Reference

#include "gui/display-service.hpp"


Actual implementation of the DisplayService.

Creating an instance of this class automatically registers the interface lumieraorg_Display with the Lumiera Interface/Plugin system and creates a forwarding proxy within the application core to route calls through this interface.

In addition to the Display interface, this class implements an additional service for the GUI, allowing actually to set up display slots, which then can be handed out to client code in the course of the play process for outputting frames.

Definition at line 129 of file display-service.hpp.

Public Member Functions

 DisplayService ()
 ~DisplayService ()
void allocate (LumieraDisplaySlot, bool doAllocate)
 prepare and the given slot for output More...
DisplayerSlotresolve (LumieraDisplaySlot)
 resolve the given display slot handle to yield a ref to an actual implementation object. More...

Static Public Member Functions

static LumieraDisplaySlot setUp (FrameDestination const &)
 open a new display, sending frames to the given output destination More...

Private Types

typedef lumiera::InstanceHandle< LUMIERA_INTERFACE_INAME(lumieraorg_Display, 0), lumiera::DisplayServiceInstanceHandle

Private Attributes

string error_
ServiceInstanceHandle serviceInstance_
DisplayerTab slots_

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 NonCopyable ()=default
 NonCopyable (NonCopyable const &)=delete
 ~NonCopyable ()=default
NonCopyableoperator= (NonCopyable const &)=delete

Member Typedef Documentation

◆ ServiceInstanceHandle

Definition at line 141 of file display-service.hpp.

Constructor & Destructor Documentation

◆ DisplayService()

◆ ~DisplayService()

~DisplayService ( )

Definition at line 147 of file display-service.hpp.

Member Function Documentation

◆ setUp()

LumieraDisplaySlot setUp ( FrameDestination const &  outputDestination)

open a new display, sending frames to the given output destination

handle for this slot, can be used to start a play process. NULL handle in case of any error.

Definition at line 195 of file display-service.cpp.

References ScopedPtrVect< T >::manage(), and DisplayService::slots_.

Referenced by ViewerPanel::ViewerPanel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ allocate()

void allocate ( LumieraDisplaySlot  handle,
bool  doAllocate 

prepare and the given slot for output

doAllocateallocate when true, else release it
lumiera::error::Logicwhen already in use

Definition at line 204 of file display-service.cpp.

References InstanceHandle< I, FA >::get(), and DisplayService::serviceInstance_.

+ Here is the call graph for this function:

◆ resolve()

DisplayerSlot & resolve ( LumieraDisplaySlot  handle)

resolve the given display slot handle to yield a ref to an actual implementation object.

In order to be resolvable, the DisplayerSlot needs to be locked (=allocated) for output use.

Definition at line 225 of file display-service.cpp.

Member Data Documentation

◆ error_

string error_

Definition at line 133 of file display-service.hpp.

◆ slots_

DisplayerTab slots_

Definition at line 134 of file display-service.hpp.

Referenced by DisplayService::setUp().

◆ serviceInstance_

ServiceInstanceHandle serviceInstance_
+ Inheritance diagram for DisplayService:
+ Collaboration diagram for DisplayService:

The documentation for this class was generated from the following files: