#include "DBUSCommunicator.h"
#include "DBUSIntrospection.h"
#include "DBUSMessageHandler.h"
+#include "DBUSConfiguration.h"
#include "Log.h"
#include <string>
using std::string;
-
-DBUSCommunicator* DBUSCommunicator::m_reference = NULL;
-
DBUSCommunicator::DBUSCommunicator(ICommandExecutor* executor)
: ICommunicator(executor)
, m_running(false)
void DBUSCommunicator::setdebug(bool onoff)
{
(void)onoff; // TODO: remove, only prevents warning
- // TODO
}
bool DBUSCommunicator::start()
g_pDbusMessage = new DBUSMessageHandler();
- LOG_INFO("DBUSCommunicator","create thread");
- this->m_running = true;
- pthread_create(&m_currentThread, NULL, DBUSCommunicator::run, this);
+ LOG_INFO("DBUSCommunicator","registering for dbus path " << DBUS_SERVICE_OBJECT_PATH);
+ bool registered = g_pDbusMessage->registerPathFunction(DBUSCommunicator::processMessageFunc,
+ DBUSCommunicator::unregisterMessageFunc,
+ this);
+ if (!registered)
+ {
+ LOG_ERROR("DBUSCommunicator","Register Message Callbacks failed");
+ exit(-1);
+ }
+
LOG_INFO("DBUSCommunicator", "Started dbus connector");
return true;
}
void DBUSCommunicator::stop()
{
LOG_INFO("DBUSCommunicator","stopping");
- this->m_running = false;
- pthread_join(m_currentThread, NULL);
+ // deregister dbus messaging implicitly by deleting messageHandler
delete g_pDbusMessage;
}
g_pDbusMessage->initReceive(msg);
bool param = g_pDbusMessage->getBool();
- bool status = m_reference->m_executor->execute(new DebugCommand(param));
+ bool status = m_executor->execute(new DebugCommand(param));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
uint screenid = g_pDbusMessage->getUInt();
- uint* resolution = m_reference->m_executor->getScreenResolution(screenid);
+ uint* resolution = m_executor->getScreenResolution(screenid);
g_pDbusMessage->initReply(msg);
g_pDbusMessage->appendUInt(resolution[0]);
g_pDbusMessage->appendUInt(resolution[1]);
g_pDbusMessage->initReceive(msg);
uint screenid = g_pDbusMessage->getUInt();
- uint numberOfHardwareLayers = m_reference->m_executor->getNumberOfHardwareLayers(screenid);
+ uint numberOfHardwareLayers = m_executor->getNumberOfHardwareLayers(screenid);
g_pDbusMessage->initReply(msg);
g_pDbusMessage->appendUInt(numberOfHardwareLayers);
g_pDbusMessage->closeReply();
g_pDbusMessage->initReceive(msg);
uint length = 0;
- uint* IDs = m_reference->m_executor->getScreenIDs(&length);
+ uint* IDs = m_executor->getScreenIDs(&length);
g_pDbusMessage->initReply(msg);
g_pDbusMessage->appendArrayOfUInt(length, IDs);
g_pDbusMessage->closeReply();
uint screenid = g_pDbusMessage->getUInt();
char* filename = g_pDbusMessage->getString();
- bool status = m_reference->m_executor->execute(new ScreenShotCommand(filename, ScreenshotOfDisplay, screenid));
+ bool status = m_executor->execute(new ScreenShotCommand(filename, ScreenshotOfDisplay, screenid));
if (status)
{
g_pDbusMessage->initReply(msg);
char* filename = g_pDbusMessage->getString();
uint layerid = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new ScreenShotCommand(filename, ScreenshotOfLayer, layerid));
+ bool status = m_executor->execute(new ScreenShotCommand(filename, ScreenshotOfLayer, layerid));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
char* filename = g_pDbusMessage->getString();
uint id = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new ScreenShotCommand(filename, ScreenshotOfSurface, id));
+ bool status = m_executor->execute(new ScreenShotCommand(filename, ScreenshotOfSurface, id));
if (status)
{
g_pDbusMessage->initReply(msg);
uint* array = NULL;
uint length = 0;
- m_reference->m_executor->getScene()->lockScene();
- m_reference->m_executor->getScene()->getLayerIDs(&length, &array);
+ m_executor->getScene()->lockScene();
+ m_executor->getScene()->getLayerIDs(&length, &array);
g_pDbusMessage->initReply(msg);
g_pDbusMessage->appendArrayOfUInt(length, array);
g_pDbusMessage->closeReply();
- m_reference->m_executor->getScene()->unlockScene();
+ m_executor->getScene()->unlockScene();
}
void DBUSCommunicator::ListAllLayerIDsOnScreen(DBusConnection* conn, DBusMessage* msg)
uint* array = NULL;
uint length = 0;
- m_reference->m_executor->getScene()->lockScene();
- bool status = m_reference->m_executor->getScene()->getLayerIDsOfScreen(screenID, &length, &array);
+ m_executor->getScene()->lockScene();
+ bool status = m_executor->getScene()->getLayerIDsOfScreen(screenID, &length, &array);
if (status)
{
g_pDbusMessage->initReply(msg);
{
g_pDbusMessage->ReplyError(msg, DBUS_ERROR_INVALID_ARGS, ID_UNKNOWN);
}
- m_reference->m_executor->getScene()->unlockScene();
+ m_executor->getScene()->unlockScene();
}
uint* array = NULL;
uint length = 0;
- m_reference->m_executor->getScene()->lockScene();
- m_reference->m_executor->getScene()->getSurfaceIDs(&length, &array);
+ m_executor->getScene()->lockScene();
+ m_executor->getScene()->getSurfaceIDs(&length, &array);
g_pDbusMessage->initReply(msg);
g_pDbusMessage->appendArrayOfUInt(length, array);
g_pDbusMessage->closeReply();
- m_reference->m_executor->getScene()->unlockScene();
+ m_executor->getScene()->unlockScene();
}
void DBUSCommunicator::ListAllLayerGroupIDS(DBusConnection* conn, DBusMessage* msg)
uint* array = NULL;
uint length = 0;
- m_reference->m_executor->getScene()->lockScene();
- m_reference->m_executor->getScene()->getLayerGroupIDs(&length, &array);
+ m_executor->getScene()->lockScene();
+ m_executor->getScene()->getLayerGroupIDs(&length, &array);
g_pDbusMessage->initReply(msg);
g_pDbusMessage->appendArrayOfUInt(length, array);
g_pDbusMessage->closeReply();
- m_reference->m_executor->getScene()->unlockScene();
+ m_executor->getScene()->unlockScene();
}
void DBUSCommunicator::ListAllSurfaceGroupIDS(DBusConnection* conn, DBusMessage* msg)
uint* array = NULL;
uint length = 0;
- m_reference->m_executor->getScene()->lockScene();
- m_reference->m_executor->getScene()->getSurfaceGroupIDs(&length, &array);
+ m_executor->getScene()->lockScene();
+ m_executor->getScene()->getSurfaceGroupIDs(&length, &array);
g_pDbusMessage->initReply(msg);
g_pDbusMessage->appendArrayOfUInt(length, array);
g_pDbusMessage->closeReply();
- m_reference->m_executor->getScene()->unlockScene();
+ m_executor->getScene()->unlockScene();
}
void DBUSCommunicator::ListSurfacesOfSurfacegroup(DBusConnection* conn, DBusMessage* msg)
g_pDbusMessage->initReceive(msg);
uint id = g_pDbusMessage->getUInt();
- m_reference->m_executor->getScene()->lockScene();
- SurfaceGroup* sg = m_reference->m_executor->getScene()->getSurfaceGroup(id);
+ m_executor->getScene()->lockScene();
+ SurfaceGroup* sg = m_executor->getScene()->getSurfaceGroup(id);
if (NULL != sg)
{
std::list<Surface*> surfaces = sg->getList();
g_pDbusMessage->appendArrayOfUInt(length, array);
g_pDbusMessage->closeReply();
- m_reference->m_executor->getScene()->unlockScene();
+ m_executor->getScene()->unlockScene();
}
else
{
g_pDbusMessage->initReceive(msg);
uint id = g_pDbusMessage->getUInt();
- m_reference->m_executor->getScene()->lockScene();
- LayerGroup* sg = m_reference->m_executor->getScene()->getLayerGroup(id);
+ m_executor->getScene()->lockScene();
+ LayerGroup* sg = m_executor->getScene()->getLayerGroup(id);
if (NULL != sg)
{
std::list<Layer*> layers = sg->getList();
g_pDbusMessage->appendArrayOfUInt(length, array);
g_pDbusMessage->closeReply();
- m_reference->m_executor->getScene()->unlockScene();
+ m_executor->getScene()->unlockScene();
}
else
{
g_pDbusMessage->initReceive(msg);
uint id = g_pDbusMessage->getUInt();
- m_reference->m_executor->getScene()->lockScene();
- Layer* layer = m_reference->m_executor->getScene()->getLayer(id);
+ m_executor->getScene()->lockScene();
+ Layer* layer = m_executor->getScene()->getLayer(id);
if (layer != NULL)
{
std::list<Surface*> surfaces = layer->getAllSurfaces();
{
g_pDbusMessage->ReplyError(msg, DBUS_ERROR_INVALID_ARGS, ID_UNKNOWN);
}
- m_reference->m_executor->getScene()->unlockScene();
+ m_executor->getScene()->unlockScene();
}
void DBUSCommunicator::GetPropertiesOfSurface(DBusConnection* conn, DBusMessage* msg)
g_pDbusMessage->initReceive(msg);
uint id = g_pDbusMessage->getUInt();
- Surface* surface = m_reference->m_executor->getScene()->getSurface(id);
+ Surface* surface = m_executor->getScene()->getSurface(id);
if (surface != NULL)
{
Rectangle dest = surface->getDestinationRegion();
g_pDbusMessage->initReceive(msg);
uint id = g_pDbusMessage->getUInt();
- Layer* layer = m_reference->m_executor->getScene()->getLayer(id);
+ Layer* layer = m_executor->getScene()->getLayer(id);
if (layer != NULL)
{
Rectangle dest = layer->getDestinationRegion();
//LOG_DEBUG("DBUSCommunicator::CreateSurface","pixelformat: " << pixelformat);
uint id = GraphicalObject::INVALID_ID;
- bool status = m_reference->m_executor->execute(new CreateCommand(handle, TypeSurface, pf, width, height, &id));
+ bool status = m_executor->execute(new CreateCommand(handle, TypeSurface, pf, width, height, &id));
if (status)
{
g_pDbusMessage->initReply(msg);
//LOG_DEBUG("DBUSCommunicator::CreateSurface","pixelformat: " << pixelformat);
uint id = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new CreateCommand(handle, TypeSurface, pf, width, height, &id));
+ bool status = m_executor->execute(new CreateCommand(handle, TypeSurface, pf, width, height, &id));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
uint param = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new RemoveCommand(param, TypeSurface));
+ bool status = m_executor->execute(new RemoveCommand(param, TypeSurface));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = GraphicalObject::INVALID_ID;
// use resolution of default screen as default width and height of layers
- uint* resolution = m_reference->m_executor->getScreenResolution(DEFAULT_SCREEN);
- bool status = m_reference->m_executor->execute(new CreateCommand(0, TypeLayer, PIXELFORMAT_R8, resolution[0], resolution[1], &id));
+ uint* resolution = m_executor->getScreenResolution(DEFAULT_SCREEN);
+ bool status = m_executor->execute(new CreateCommand(0, TypeLayer, PIXELFORMAT_R8, resolution[0], resolution[1], &id));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
id = g_pDbusMessage->getUInt();
// use resolution of default screen as default width and height of layers
- uint* resolution = m_reference->m_executor->getScreenResolution(DEFAULT_SCREEN);
- bool status = m_reference->m_executor->execute(new CreateCommand(0, TypeLayer, PIXELFORMAT_R8, resolution[0], resolution[1], &id));
+ uint* resolution = m_executor->getScreenResolution(DEFAULT_SCREEN);
+ bool status = m_executor->execute(new CreateCommand(0, TypeLayer, PIXELFORMAT_R8, resolution[0], resolution[1], &id));
if (status)
{
g_pDbusMessage->initReply(msg);
uint height = g_pDbusMessage->getUInt();
uint id = GraphicalObject::INVALID_ID;
- bool status = m_reference->m_executor->execute(new CreateCommand(0, TypeLayer, PIXELFORMAT_R8, width, height, &id));
+ bool status = m_executor->execute(new CreateCommand(0, TypeLayer, PIXELFORMAT_R8, width, height, &id));
if (status)
{
g_pDbusMessage->initReply(msg);
id = g_pDbusMessage->getUInt();
uint width = g_pDbusMessage->getUInt();
uint height = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new CreateCommand(0, TypeLayer, PIXELFORMAT_R8, width, height, &id));
+ bool status = m_executor->execute(new CreateCommand(0, TypeLayer, PIXELFORMAT_R8, width, height, &id));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
uint param = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new RemoveCommand(param, TypeLayer));
+ bool status = m_executor->execute(new RemoveCommand(param, TypeLayer));
if (status)
{
g_pDbusMessage->initReply(msg);
uint surfaceid = g_pDbusMessage->getUInt();
uint surfacegroupid = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SurfacegroupAddSurfaceCommand(surfacegroupid, surfaceid));
+ bool status = m_executor->execute(new SurfacegroupAddSurfaceCommand(surfacegroupid, surfaceid));
if (status)
{
g_pDbusMessage->initReply(msg);
uint surfaceid = g_pDbusMessage->getUInt();
uint surfacegroupid = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SurfacegroupRemoveSurfaceCommand(surfacegroupid, surfaceid));
+ bool status = m_executor->execute(new SurfacegroupRemoveSurfaceCommand(surfacegroupid, surfaceid));
if (status)
{
g_pDbusMessage->initReply(msg);
uint layerid = g_pDbusMessage->getUInt();
uint layergroupid = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new LayergroupAddLayerCommand(layergroupid, layerid));
+ bool status = m_executor->execute(new LayergroupAddLayerCommand(layergroupid, layerid));
if (status)
{
g_pDbusMessage->initReply(msg);
uint layerid = g_pDbusMessage->getUInt();
uint layergroupid = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new LayergroupRemoveLayerCommand(layergroupid, layerid));
+ bool status = m_executor->execute(new LayergroupRemoveLayerCommand(layergroupid, layerid));
if (status)
{
g_pDbusMessage->initReply(msg);
uint surfaceid = g_pDbusMessage->getUInt();
uint layer = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new LayerAddSurfaceCommand(layer, surfaceid));
+ bool status = m_executor->execute(new LayerAddSurfaceCommand(layer, surfaceid));
if (status)
{
g_pDbusMessage->initReply(msg);
uint surfaceid = g_pDbusMessage->getUInt();
uint layerid = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new LayerRemoveSurfaceCommand(layerid, surfaceid));
+ bool status = m_executor->execute(new LayerRemoveSurfaceCommand(layerid, surfaceid));
if (status)
{
g_pDbusMessage->initReply(msg);
uint newID = GraphicalObject::INVALID_ID;
- bool status = m_reference->m_executor->execute(new CreateCommand(0, TypeSurfaceGroup, PIXELFORMAT_R8, 0, 0, &newID));
+ bool status = m_executor->execute(new CreateCommand(0, TypeSurfaceGroup, PIXELFORMAT_R8, 0, 0, &newID));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
newID = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new CreateCommand(0, TypeSurfaceGroup, PIXELFORMAT_R8, 0, 0, &newID));
+ bool status = m_executor->execute(new CreateCommand(0, TypeSurfaceGroup, PIXELFORMAT_R8, 0, 0, &newID));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
uint param = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new RemoveCommand(param, TypeSurfaceGroup));
+ bool status = m_executor->execute(new RemoveCommand(param, TypeSurfaceGroup));
if (status)
{
g_pDbusMessage->initReply(msg);
uint newID = GraphicalObject::INVALID_ID;
- bool status = m_reference->m_executor->execute(new CreateCommand(0, TypeLayerGroup, PIXELFORMAT_R8, 0, 0, &newID));
+ bool status = m_executor->execute(new CreateCommand(0, TypeLayerGroup, PIXELFORMAT_R8, 0, 0, &newID));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
newID = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new CreateCommand(0, TypeLayerGroup, PIXELFORMAT_R8, 0, 0, &newID));
+ bool status = m_executor->execute(new CreateCommand(0, TypeLayerGroup, PIXELFORMAT_R8, 0, 0, &newID));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
uint param = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new RemoveCommand(param, TypeLayerGroup));
+ bool status = m_executor->execute(new RemoveCommand(param, TypeLayerGroup));
if (status)
{
g_pDbusMessage->initReply(msg);
uint width = g_pDbusMessage->getUInt();
uint height = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SetSourceRectangleCommand(id, TypeSurface, x, y, width, height));
+ bool status = m_executor->execute(new SetSourceRectangleCommand(id, TypeSurface, x, y, width, height));
if (status)
{
g_pDbusMessage->initReply(msg);
uint height = g_pDbusMessage->getUInt();
//LOG_DEBUG("DBUSC","new SetSourceRectangleCommand with arguments: " <<id <<" " << x <<" "<< y <<" "<< width <<" "<< height );
- bool status = m_reference->m_executor->execute(new SetSourceRectangleCommand(id, TypeLayer, x, y, width, height));
+ bool status = m_executor->execute(new SetSourceRectangleCommand(id, TypeLayer, x, y, width, height));
if (status)
{
g_pDbusMessage->initReply(msg);
uint width = g_pDbusMessage->getUInt();
uint height = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SetDestinationRectangleCommand(id, TypeSurface, x, y, width, height));
+ bool status = m_executor->execute(new SetDestinationRectangleCommand(id, TypeSurface, x, y, width, height));
if (status)
{
g_pDbusMessage->initReply(msg);
uint x = g_pDbusMessage->getUInt();
uint y = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SetPositionCommand(id, TypeSurface, x, y));
+ bool status = m_executor->execute(new SetPositionCommand(id, TypeSurface, x, y));
if (status)
{
g_pDbusMessage->initReply(msg);
uint x = 0;
uint y = 0;
- bool status = m_reference->m_executor->execute(new GetPositionCommand(id, TypeSurface, &x, &y));
+ bool status = m_executor->execute(new GetPositionCommand(id, TypeSurface, &x, &y));
if (status)
{
g_pDbusMessage->initReply(msg);
uint width = g_pDbusMessage->getUInt();
uint height = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SetDimensionCommand(id, TypeSurface, width, height));
+ bool status = m_executor->execute(new SetDimensionCommand(id, TypeSurface, width, height));
if (status)
{
g_pDbusMessage->initReply(msg);
uint height = g_pDbusMessage->getUInt();
//LOG_DEBUG("DBUSCommunicator","new SetDestinationRectangleCommand with arguments: " <<id <<" " << x <<" "<< y <<" "<< width <<" "<< height );
- bool status = m_reference->m_executor->execute(new SetDestinationRectangleCommand(id, TypeLayer, x, y, width, height));
+ bool status = m_executor->execute(new SetDestinationRectangleCommand(id, TypeLayer, x, y, width, height));
if (status)
{
g_pDbusMessage->initReply(msg);
uint x = g_pDbusMessage->getUInt();
uint y = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SetPositionCommand(id, TypeLayer, x, y));
+ bool status = m_executor->execute(new SetPositionCommand(id, TypeLayer, x, y));
if (status)
{
g_pDbusMessage->initReply(msg);
uint x = 0;
uint y = 0;
- bool status = m_reference->m_executor->execute(new GetPositionCommand(id, TypeLayer, &x, &y));
+ bool status = m_executor->execute(new GetPositionCommand(id, TypeLayer, &x, &y));
if (status)
{
g_pDbusMessage->initReply(msg);
uint width = g_pDbusMessage->getUInt();
uint height = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SetDimensionCommand(id, TypeLayer, width, height));
+ bool status = m_executor->execute(new SetDimensionCommand(id, TypeLayer, width, height));
if (status)
{
g_pDbusMessage->initReply(msg);
uint width = 0;
uint height = 0;
- bool status = m_reference->m_executor->execute(new GetDimensionCommand(id, TypeLayer, &width, &height));
+ bool status = m_executor->execute(new GetDimensionCommand(id, TypeLayer, &width, &height));
if (status)
{
g_pDbusMessage->initReply(msg);
uint width = 0;
uint height = 0;
- bool status = m_reference->m_executor->execute(new GetDimensionCommand(id, TypeSurface, &width, &height));
+ bool status = m_executor->execute(new GetDimensionCommand(id, TypeSurface, &width, &height));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
double param = g_pDbusMessage->getDouble();
- bool status = m_reference->m_executor->execute(new SetOpacityCommand(id, TypeSurface, param));
+ bool status = m_executor->execute(new SetOpacityCommand(id, TypeSurface, param));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
double param = g_pDbusMessage->getDouble();
- bool status = m_reference->m_executor->execute(new SetOpacityCommand(id, TypeLayer, param));
+ bool status = m_executor->execute(new SetOpacityCommand(id, TypeLayer, param));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
double param = g_pDbusMessage->getDouble();
- bool status = m_reference->m_executor->execute(new SetOpacityCommand(id, TypeSurfaceGroup, param));
+ bool status = m_executor->execute(new SetOpacityCommand(id, TypeSurfaceGroup, param));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
double param = g_pDbusMessage->getDouble();
- bool status = m_reference->m_executor->execute(new SetOpacityCommand(id, TypeLayerGroup, param));
+ bool status = m_executor->execute(new SetOpacityCommand(id, TypeLayerGroup, param));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
double param = 0.0;
- bool status = m_reference->m_executor->execute(new GetOpacityCommand(id, TypeSurface, ¶m));
+ bool status = m_executor->execute(new GetOpacityCommand(id, TypeSurface, ¶m));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
double param = 0.0;
- bool status = m_reference->m_executor->execute(new GetOpacityCommand(id, TypeLayer, ¶m));
+ bool status = m_executor->execute(new GetOpacityCommand(id, TypeLayer, ¶m));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
double param = 0.0;
- bool status = m_reference->m_executor->execute(new GetOpacityCommand(id, TypeSurfaceGroup, ¶m));
+ bool status = m_executor->execute(new GetOpacityCommand(id, TypeSurfaceGroup, ¶m));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
double param = 0.0;
- bool status = m_reference->m_executor->execute(new GetOpacityCommand(id, TypeLayerGroup, ¶m));
+ bool status = m_executor->execute(new GetOpacityCommand(id, TypeLayerGroup, ¶m));
if (status)
{
g_pDbusMessage->initReply(msg);
uint param = g_pDbusMessage->getUInt();
OrientationType o = (OrientationType) param;
- bool status = m_reference->m_executor->execute(new SetOrientationCommand(id, TypeSurface, o));
+ bool status = m_executor->execute(new SetOrientationCommand(id, TypeSurface, o));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
OrientationType o;
- bool status = m_reference->m_executor->execute(new GetOrientationCommand(id, TypeSurface, &o));
+ bool status = m_executor->execute(new GetOrientationCommand(id, TypeSurface, &o));
if (status)
{
g_pDbusMessage->initReply(msg);
uint param = g_pDbusMessage->getUInt();
OrientationType o = (OrientationType) param;
- bool status = m_reference->m_executor->execute(new SetOrientationCommand(id, TypeLayer, o));
+ bool status = m_executor->execute(new SetOrientationCommand(id, TypeLayer, o));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
OrientationType o;
- bool status = m_reference->m_executor->execute(new GetOrientationCommand(id, TypeLayer, &o));
+ bool status = m_executor->execute(new GetOrientationCommand(id, TypeLayer, &o));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
PixelFormat param;
- bool status = m_reference->m_executor->execute(new GetPixelformatCommand(id, TypeSurface, ¶m));
+ bool status = m_executor->execute(new GetPixelformatCommand(id, TypeSurface, ¶m));
if (status)
{
g_pDbusMessage->initReply(msg);
const uint surfaceid = g_pDbusMessage->getUInt();
bool newVis = g_pDbusMessage->getBool();
- bool status = m_reference->m_executor->execute(new SetVisibilityCommand(surfaceid, TypeSurface, newVis));
+ bool status = m_executor->execute(new SetVisibilityCommand(surfaceid, TypeSurface, newVis));
if (status)
{
g_pDbusMessage->initReply(msg);
const uint layerid = g_pDbusMessage->getUInt();
bool myparam = g_pDbusMessage->getBool();
- bool status = m_reference->m_executor->execute(new SetVisibilityCommand(layerid, TypeLayer, myparam));
+ bool status = m_executor->execute(new SetVisibilityCommand(layerid, TypeLayer, myparam));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
bool param;
- bool status = m_reference->m_executor->execute(new GetVisibilityCommand(id, TypeSurface, ¶m));
+ bool status = m_executor->execute(new GetVisibilityCommand(id, TypeSurface, ¶m));
if (status)
{
g_pDbusMessage->initReply(msg);
uint id = g_pDbusMessage->getUInt();
bool param;
- bool status = m_reference->m_executor->execute(new GetVisibilityCommand(id, TypeLayer, ¶m));
+ bool status = m_executor->execute(new GetVisibilityCommand(id, TypeLayer, ¶m));
if (status)
{
g_pDbusMessage->initReply(msg);
uint groupid = g_pDbusMessage->getUInt();
bool myparam = g_pDbusMessage->getBool();
- bool status = m_reference->m_executor->execute(new SetVisibilityCommand(groupid, TypeSurfaceGroup, myparam));
+ bool status = m_executor->execute(new SetVisibilityCommand(groupid, TypeSurfaceGroup, myparam));
if (status)
{
g_pDbusMessage->initReply(msg);
uint groupid = g_pDbusMessage->getUInt();
bool myparam = g_pDbusMessage->getBool();
- bool status = m_reference->m_executor->execute(new SetVisibilityCommand(groupid, TypeLayerGroup, myparam));
+ bool status = m_executor->execute(new SetVisibilityCommand(groupid, TypeLayerGroup, myparam));
if (status)
{
g_pDbusMessage->initReply(msg);
//LOG_DEBUG("DBUSCommunicator","Renderorder: Got " << length << " ids.");
- bool status = m_reference->m_executor->execute(new SetLayerOrderCommand(array, length));
+ bool status = m_executor->execute(new SetLayerOrderCommand(array, length));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->getArrayOfUInt(&length, &array);
- bool status = m_reference->m_executor->execute(new SetOrderWithinLayerCommand(layerid, array, length));
+ bool status = m_executor->execute(new SetOrderWithinLayerCommand(layerid, array, length));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
uint id = g_pDbusMessage->getUInt();
- Layer* l = m_reference->m_executor->getScene()->getLayer(id);
+ Layer* l = m_executor->getScene()->getLayer(id);
if (l != NULL)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
uint id = g_pDbusMessage->getUInt();
LayerType type = (LayerType) id;
- uint capabilities = m_reference->m_executor->getLayerTypeCapabilities(type);
+ uint capabilities = m_executor->getLayerTypeCapabilities(type);
//LOG_DEBUG("DBUSCommunicator", "GetLayertypeCapabilities: returning capabilities:" << capabilities);
g_pDbusMessage->initReply(msg);
g_pDbusMessage->appendUInt(capabilities);
g_pDbusMessage->initReceive(msg);
uint id = g_pDbusMessage->getUInt();
- Layer* l = m_reference->m_executor->getScene()->getLayer(id);
+ Layer* l = m_executor->getScene()->getLayer(id);
if (l != NULL)
{
g_pDbusMessage->initReply(msg);
{
(void)conn; // TODO: remove, only prevents warning
- bool status = m_reference->m_executor->execute(new ExitCommand());
+ bool status = m_executor->execute(new ExitCommand());
if (status)
{
g_pDbusMessage->initReply(msg);
{
(void)conn; // TODO: remove, only prevents warning
- bool status = m_reference->m_executor->execute(new CommitCommand());
+ bool status = m_executor->execute(new CommitCommand());
if (status)
{
g_pDbusMessage->initReply(msg);
char* fragname = g_pDbusMessage->getString();
uint id = 0;
- bool status = m_reference->m_executor->execute(new CreateShaderCommand(vertname, fragname, &id));
+ bool status = m_executor->execute(new CreateShaderCommand(vertname, fragname, &id));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->initReceive(msg);
uint shaderid = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new DestroyShaderCommand(shaderid));
+ bool status = m_executor->execute(new DestroyShaderCommand(shaderid));
if (status)
{
g_pDbusMessage->initReply(msg);
uint objectid = g_pDbusMessage->getUInt();
uint shaderid = g_pDbusMessage->getUInt();
- bool status = m_reference->m_executor->execute(new SetShaderCommand(objectid, shaderid));
+ bool status = m_executor->execute(new SetShaderCommand(objectid, shaderid));
if (status)
{
g_pDbusMessage->initReply(msg);
g_pDbusMessage->getArrayOfString(&uniforms);
- bool status = m_reference->m_executor->execute(new SetUniformsCommand(id, uniforms));
+ bool status = m_executor->execute(new SetUniformsCommand(id, uniforms));
if (status)
{
g_pDbusMessage->initReply(msg);
LOG_INFO("DBUSCommunicator","got call for method:" << entry.name);
CallBackMethod m = entry.function;
LOG_INFO("DBUSCommunicator","enter method");
- (m_reference->*m)(conn, msg);
+ (this->*m)(conn, msg);
found = true;
}
i++;
return result;
}
-
-void* DBUSCommunicator::run(void * arg)
-{
- LOG_INFO("DBUSCommunicator","Main loop running");
- // pthread_setcancelstate (PTHREAD_CANCEL_ENABLE, NULL);
- // pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
- m_reference = (DBUSCommunicator*) arg;
- if (! g_pDbusMessage->registerPathFunction(DBUSCommunicator::processMessageFunc, DBUSCommunicator::unregisterMessageFunc,m_reference) )
- {
- LOG_ERROR("DBUSCommunicator","Register Message Callbacks failed");
- exit(-1);
- }
-
- while (m_reference->m_running || dbus_connection_read_write_dispatch (g_pDbusMessage->getConnection(), -1) )
- {
- // pthread_testcancel();
-/* DBusMessage* msg = 0;
- DBusConnection* conn = g_pDbusMessage->getConnection();
- dbus_connection_read_write(conn, 50);
- msg = dbus_connection_pop_message(conn);
- if (msg)
- {
- dbus_connection_flush(conn);
- dbus_message_unref(msg);
- msg = NULL;
- }
-
- } else {*/
- /* put thread in sleep mode for 500 useconds due to safe cpu performance */
- usleep(500);
-/* }*/
- }
-
- LOG_DEBUG("DBUSCommunicator","ending thread");
- return 0;
-}
-
extern "C" ICommunicator* createDBUSCommunicator(ICommandExecutor* executor)
{
return new DBUSCommunicator(executor);