summaryrefslogtreecommitdiff
path: root/LayerManagerClient
diff options
context:
space:
mode:
authorTimo Lotterbach <timo.lotterbach@bmw-carit.de>2011-12-01 13:33:30 +0100
committerMichael Schuldt <michael.schuldt@bmw-carit.de>2011-12-05 08:35:17 +0100
commit40e1928f7657d54a10904b73447de9ecd7b95e26 (patch)
tree9212a8594c20d8cda57d1383e6f8344cee411323 /LayerManagerClient
parenta1b594c0c79c48e47d56dfd5e9e98cb7b30909fa (diff)
downloadlayer_management-40e1928f7657d54a10904b73447de9ecd7b95e26.tar.gz
SurfaceCreate and SurfaceSetNativeContent are two separate steps now; ilmClient::CreateSurface() behaves the same way as before by sending both commands
Diffstat (limited to 'LayerManagerClient')
-rw-r--r--LayerManagerClient/ilmClient/src/ilm_client.c82
1 files changed, 52 insertions, 30 deletions
diff --git a/LayerManagerClient/ilmClient/src/ilm_client.c b/LayerManagerClient/ilmClient/src/ilm_client.c
index 4cdb024..9f4a491 100644
--- a/LayerManagerClient/ilmClient/src/ilm_client.c
+++ b/LayerManagerClient/ilmClient/src/ilm_client.c
@@ -1210,40 +1210,62 @@ ilmErrorTypes ilm_layergroupSetOpacity(t_ilm_layergroup group, t_ilm_float opaci
ilmErrorTypes ilm_surfaceCreate(t_ilm_nativehandle nativehandle, t_ilm_int width, t_ilm_int height, ilmPixelFormat pixelFormat, t_ilm_surface* pSurfaceId)
{
- ilmErrorTypes error = ILM_FAILED;
+ ilmErrorTypes result = ILM_FAILED;
DBusMessage *message;
- // Setup parameter to send
- t_ilm_param surfaceParam[5];
- _ilm_setup_param(&surfaceParam[0], DBUS_TYPE_UINT32, &nativehandle);
- _ilm_setup_param(&surfaceParam[1], DBUS_TYPE_UINT32, &width);
- _ilm_setup_param(&surfaceParam[2], DBUS_TYPE_UINT32, &height);
- _ilm_setup_param(&surfaceParam[3], DBUS_TYPE_UINT32, &pixelFormat);
- _ilm_setup_param(&surfaceParam[4], DBUS_TYPE_UINT32, pSurfaceId);
-
- if (*pSurfaceId == INVALID_ID)
- {
- // Setup Call
- message = _ilm_dbus_method_call(g_ilm_client->dbus_connection, "CreateSurface", &surfaceParam[0], 4);
- }
- else
{
- message = _ilm_dbus_method_call(g_ilm_client->dbus_connection, "CreateSurfaceFromId", &surfaceParam[0], 5);
- }
+ // Setup parameter to send
+ t_ilm_param surfaceParam[1];
+ _ilm_setup_param(&surfaceParam[0], DBUS_TYPE_UINT32, pSurfaceId);
+
+ if (*pSurfaceId == INVALID_ID)
+ {
+ // Setup Call
+ message = _ilm_dbus_method_call(g_ilm_client->dbus_connection, "CreateSurface", &surfaceParam[0], 0);
+ }
+ else
+ {
+ message = _ilm_dbus_method_call(g_ilm_client->dbus_connection, "CreateSurfaceFromId", &surfaceParam[0], 1);
+ }
+
+ if (message)
+ {
+ ILM_CHECK_METHOD_ERROR(message);
+ result = _ilm_get_dbus_basic_elements(message, 1, &surfaceParam[0]);
+ _ilm_close_dbus_method_call(message);
+ }
+ else
+ {
+ ILM_ERROR("ilm_surfaceCreate","IPC Method (CreateSurface[Id]) call not possible can't setup remote message\n");
+ result = ILM_ERROR_ON_CONNECTION;
+ }
+ }
+
+ {
+ // Setup parameter to send
+ t_ilm_param surfaceParam[5];
+ _ilm_setup_param(&surfaceParam[0], DBUS_TYPE_UINT32, pSurfaceId);
+ _ilm_setup_param(&surfaceParam[1], DBUS_TYPE_UINT32, &nativehandle);
+ _ilm_setup_param(&surfaceParam[2], DBUS_TYPE_UINT32, &width);
+ _ilm_setup_param(&surfaceParam[3], DBUS_TYPE_UINT32, &height);
+ _ilm_setup_param(&surfaceParam[4], DBUS_TYPE_UINT32, &pixelFormat);
+
+ message = _ilm_dbus_method_call(g_ilm_client->dbus_connection, "SetSurfaceNativeContent", &surfaceParam[0], 5);
+
+ if (message)
+ {
+ ILM_CHECK_METHOD_ERROR(message);
+ result = _ilm_get_dbus_basic_elements(message, 1, &surfaceParam[0]);
+ _ilm_close_dbus_method_call(message);
+ }
+ else
+ {
+ ILM_ERROR("ilm_surfaceCreate","IPC Method (SetSurfaceNativeContent) call not possible can't setup remote message\n");
+ result = ILM_ERROR_ON_CONNECTION;
+ }
+ }
- if (message)
- {
- ILM_CHECK_METHOD_ERROR(message);
- error = _ilm_get_dbus_basic_elements(message, 1, &surfaceParam[4]);
- _ilm_close_dbus_method_call(message);
- }
- else
- {
- ILM_ERROR("ilm_surfaceCreate","IPC Method call not possible can't setup remote message\n");
- return ILM_ERROR_ON_CONNECTION;
- }
-
- return error;
+ return result;
}
ilmErrorTypes ilm_surfaceCreatePlaceholder(t_ilm_surface *pSurfaceId)