Index: trunk/src/chrome/test/data/nacl/sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.cc |
=================================================================== |
--- trunk/src/chrome/test/data/nacl/sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.cc (revision 195212) |
+++ trunk/src/chrome/test/data/nacl/sysconf_nprocessors_onln/sysconf_nprocessors_onln_test.cc (working copy) |
@@ -1,108 +0,0 @@ |
-/* |
- * 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. |
- */ |
- |
-/* |
- * Post-message based test for simple rpc based access to sysconf result. |
- */ |
- |
-#include <assert.h> |
-#include <inttypes.h> |
-#include <stdio.h> |
-#include <stdlib.h> |
-#include <string.h> |
-#include <sys/fcntl.h> |
-#include <unistd.h> |
- |
-#include <sys/nacl_syscalls.h> |
- |
-#include <string> |
- |
-#include "ppapi/cpp/instance.h" |
-#include "ppapi/cpp/module.h" |
-#include "ppapi/cpp/var.h" |
- |
-void NumProcessors(const pp::Var& message_data, std::string* sb) { |
- int num_cores; |
- char string_rep[16]; |
- |
- num_cores = sysconf(_SC_NPROCESSORS_ONLN); |
- snprintf(string_rep, sizeof string_rep, "%d", num_cores); |
- *sb = string_rep; |
-} |
- |
-struct PostMessageHandlerDesc { |
- char const *request; |
- void (*handler)(const pp::Var& message_data, std::string* out); |
-}; |
- |
-// This object represents one time the page says <embed>. |
-class MyInstance : public pp::Instance { |
- public: |
- explicit MyInstance(PP_Instance instance) : pp::Instance(instance) {} |
- virtual ~MyInstance() {} |
- virtual void HandleMessage(const pp::Var& message_data); |
-}; |
- |
-// HandleMessage gets invoked when postMessage is called on the DOM |
-// element associated with this plugin instance. In this case, if we |
-// are given a string, we'll post a message back to JavaScript with a |
-// reply string -- essentially treating this as a string-based RPC. |
-void MyInstance::HandleMessage(const pp::Var& message_data) { |
- static struct PostMessageHandlerDesc kMsgHandlers[] = { |
- { "nprocessors", NumProcessors }, |
- { reinterpret_cast<char const *>(NULL), |
- reinterpret_cast<void (*)(const pp::Var&, std::string*)>(NULL) } |
- }; |
- |
- if (message_data.is_string()) { |
- std::string op_name(message_data.AsString()); |
- size_t len; |
- |
- fprintf(stderr, "Searching for handler for request \"%s\".\n", |
- op_name.c_str()); |
- |
- std::string sb; |
- |
- for (size_t ix = 0; kMsgHandlers[ix].request != NULL; ++ix) { |
- if (op_name == kMsgHandlers[ix].request) { |
- fprintf(stderr, "found at index %u\n", ix); |
- kMsgHandlers[ix].handler(message_data, &sb); |
- break; |
- } |
- } |
- |
- len = strlen(sb.c_str()); |
- fprintf(stderr, "posting reply len %d\n", len); |
- fprintf(stderr, "posting reply \"%s\".\n", sb.c_str()); |
- fflush(stderr); |
- |
- PostMessage(pp::Var(sb)); |
- fprintf(stderr, "returning\n"); |
- fflush(stderr); |
- } |
-} |
- |
-// This object is the global object representing this plugin library as long |
-// as it is loaded. |
-class MyModule : public pp::Module { |
- public: |
- MyModule() : pp::Module() {} |
- virtual ~MyModule() {} |
- |
- // Override CreateInstance to create your customized Instance object. |
- virtual pp::Instance* CreateInstance(PP_Instance instance) { |
- return new MyInstance(instance); |
- } |
-}; |
- |
-namespace pp { |
- |
-// Factory function for your specialization of the Module object. |
-Module* CreateModule() { |
- return new MyModule(); |
-} |
- |
-} // namespace pp |