summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2012-09-29 20:11:56 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2012-10-02 23:09:03 +0200
commit5118612ddbc5f9bbbdfdadadb5fd0b3bb01a8e0a (patch)
treee08e19dde8cab3a1b4014877b44629ad5092fc27
parent94b793bfbba4b51137aa534548c97d8e52d17386 (diff)
Implement Show()
-rw-r--r--SPICEConsoleAPI.cpp18
-rw-r--r--SPICEConsoleAPI.h6
2 files changed, 23 insertions, 1 deletions
diff --git a/SPICEConsoleAPI.cpp b/SPICEConsoleAPI.cpp
index d71e8fa..94c8511 100644
--- a/SPICEConsoleAPI.cpp
+++ b/SPICEConsoleAPI.cpp
@@ -4,6 +4,8 @@
\**********************************************************/
+#include <glib.h>
+
#include "JSObject.h"
#include "variant_list.h"
#include "DOM/Document.h"
@@ -35,7 +37,10 @@ void SPICEConsoleAPI::connect()
{}
void SPICEConsoleAPI::show()
-{}
+{
+ g_debug("sending show message");
+ SendMsg(CONTROLLER_SHOW);
+}
void SPICEConsoleAPI::disconnect()
{}
@@ -91,3 +96,14 @@ void SPICEConsoleAPI::set_SSLChannels(const std::string &aSSLChannels)
}
/* Backward Compatibility: End */
}
+
+void SPICEConsoleAPI::WriteToPipe(const void *data, uint32_t size)
+{
+ m_external_controller.Write(data, size);
+}
+
+void SPICEConsoleAPI::SendMsg(uint32_t id)
+{
+ ControllerMsg msg = {id, sizeof(msg)};
+ WriteToPipe(&msg, sizeof(msg));
+}
diff --git a/SPICEConsoleAPI.h b/SPICEConsoleAPI.h
index 82d4757..a0e09d1 100644
--- a/SPICEConsoleAPI.h
+++ b/SPICEConsoleAPI.h
@@ -10,6 +10,7 @@
#include "JSAPIAuto.h"
#include "BrowserHost.h"
#include "SPICEConsole.h"
+#include "controller.h"
#ifndef H_SPICEConsoleAPI
#define H_SPICEConsoleAPI
@@ -98,9 +99,14 @@ private:
std::map<std::string, std::string> m_languages;
std::string m_usb_filter;
int m_connected_status;
+ SpiceController m_external_controller;
/* Properties */
std::string m_SSLChannels;
+
+ // Controller communication
+ void WriteToPipe(const void *data, uint32_t size);
+ void SendMsg(uint32_t id);
};
#endif // H_SPICEConsoleAPI