Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Unified Diff: visual_studio/NativeClientVSAddIn/TestingProjects/BlankValidSolution/NaClProject/main.cpp

Issue 10831030: NaCl settings and completed install scripts. (Closed) Base URL: https://nativeclient-sdk.googlecode.com/svn/trunk/src
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: visual_studio/NativeClientVSAddIn/TestingProjects/BlankValidSolution/NaClProject/main.cpp
diff --git a/visual_studio/NativeClientVSAddIn/TestingProjects/BlankValidSolution/NaClProject/main.cpp b/visual_studio/NativeClientVSAddIn/TestingProjects/BlankValidSolution/NaClProject/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..6f44082b724f43bdb08c1b3e01b3bfaebd2de0c7
--- /dev/null
+++ b/visual_studio/NativeClientVSAddIn/TestingProjects/BlankValidSolution/NaClProject/main.cpp
@@ -0,0 +1,65 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/// This project is for use with the testing framework
+/// of the Visual Studio Add-in.
+/// Note that the PPAPI and NaCl configurations do not exist. These are added
+/// during testing time so that the most up-to-date settings are used.
+
+#include <string>
+
+#include "ppapi/cpp/instance.h"
+#include "ppapi/cpp/module.h"
+#include "ppapi/cpp/var.h"
+
+class NaClProjectInstance : public pp::Instance {
+ public:
+ /// The constructor creates the plugin-side instance.
+ /// @param[in] instance the handle to the browser-side plugin instance.
+ explicit NaClProjectInstance(PP_Instance instance)
+ : pp::Instance(instance) {
+ }
+
+ virtual ~NaClProjectInstance() {
+ }
+
+ virtual bool Init(uint32_t /*argc*/, const char* /*argn*/[],
+ const char* /*argv*/[]) {
+ // Start chain of message relaying.
+ PostMessage(pp::Var("relay1"));
+ return true;
+ }
+
+ private:
+ virtual void HandleMessage(const pp::Var& var_message) {
+ // Simply relay back to javascript the message we just received.
+ if (!var_message.is_string())
+ return;
+ std::string msg = var_message.AsString();
+ PostMessage(pp::Var(msg));
+ }
+};
+
+/// The Module class. The browser calls the CreateInstance() method to create
+/// an instance of your NaCl module on the web page. The browser creates a new
+/// instance for each <embed> tag with type="application/x-nacl".
+class NaClProjectModule : public pp::Module {
+ public:
+ NaClProjectModule() : pp::Module() {}
+ virtual ~NaClProjectModule() {}
+
+ /// Create and return a FileIoInstance object.
+ /// @param[in] instance The browser-side instance.
+ /// @return the plugin-side instance.
+ virtual pp::Instance* CreateInstance(PP_Instance instance) {
+ return new NaClProjectInstance(instance);
+ }
+};
+
+namespace pp {
+Module* CreateModule() {
+ return new NaClProjectModule();
+}
+} // namespace pp
+

Powered by Google App Engine
This is Rietveld 408576698