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

Side by Side Diff: trunk/src/third_party/liblouis/nacl_wrapper/liblouis_instance.h

Issue 93783003: Revert 237638 "Build liblouis_nacl using gyp." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not
4 // use this file except in compliance with the License. You may obtain a copy of
5 // the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations under
13 // the License.
14
15 #ifndef LIBLOUIS_NACL_LIBLOUIS_INSTANCE_H_
16 #define LIBLOUIS_NACL_LIBLOUIS_INSTANCE_H_
17
18 #include <string>
19
20 #include "base/basictypes.h"
21 #include "json/json.h"
22 #include "liblouis_wrapper.h"
23 #include "ppapi/c/pp_instance.h"
24 #include "ppapi/cpp/completion_callback.h"
25 #include "ppapi/cpp/instance.h"
26 #include "ppapi/cpp/message_loop.h"
27 #include "ppapi/cpp/var.h"
28 #include "ppapi/utility/completion_callback_factory.h"
29 #include "ppapi/utility/threading/simple_thread.h"
30 #include "translation_params.h"
31
32 namespace liblouis_nacl {
33
34 class LibLouisInstance : public pp::Instance {
35 public:
36 explicit LibLouisInstance(PP_Instance instance);
37 virtual ~LibLouisInstance();
38
39 virtual bool Init(uint32_t argc, const char* argn[], const char* argv[]);
40 virtual void HandleMessage(const pp::Var& var_message);
41
42 private:
43 // Post work to the background (liblouis) thread.
44 int32_t PostWorkToBackground(const pp::CompletionCallback& callback) {
45 return liblouis_thread_.message_loop().PostWork(callback);
46 }
47
48 // Encodes a message as JSON and sends it over to JavaScript.
49 void PostReply(Json::Value reply, const std::string& in_reply_to);
50
51 // Posts an error response to JavaScript.
52 void PostError(const std::string& error);
53
54 // Posts an error response to JavaScript, with the message ID of the call
55 // which caused it.
56 void PostError(const std::string& error, const std::string& in_reply_to);
57
58 // Parses and executes a table check command.
59 void HandleCheckTable(const Json::Value& message,
60 const std::string& message_id);
61
62 // Called to check a table on a background thread.
63 void CheckTableInBackground(int32_t result, const std::string& table_name,
64 const std::string& message_id);
65
66 // Parses and executes a translation command.
67 void HandleTranslate(const Json::Value& message,
68 const std::string& message_id);
69
70 // Called to translate text on a background thread.
71 void TranslateInBackground(int32_t result, const TranslationParams& params,
72 const std::string& message_id);
73
74 // Parses and executes a back translation command.
75 void HandleBackTranslate(const Json::Value& message,
76 const std::string& message_id);
77
78 // Called to back-translate text on a background thread.
79 void BackTranslateInBackground(int32_t result,
80 const std::string& table_name, const std::vector<unsigned char>& cells,
81 const std::string& message_id);
82
83 LibLouisWrapper liblouis_;
84 pp::SimpleThread liblouis_thread_;
85 pp::CompletionCallbackFactory<LibLouisInstance> cc_factory_;
86
87 DISALLOW_COPY_AND_ASSIGN(LibLouisInstance);
88 };
89
90 } // namespace liblouis_nacl
91
92 #endif // LIBLOUIS_NACL_LIBLOUIS_INSTANCE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698