Index: skia/ext/SkFontHost_fontconfig_ipc.h |
diff --git a/skia/ext/SkFontHost_fontconfig_ipc.h b/skia/ext/SkFontHost_fontconfig_ipc.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4436df726f9fdda063e4139e5d3e54c607a7d67b |
--- /dev/null |
+++ b/skia/ext/SkFontHost_fontconfig_ipc.h |
@@ -0,0 +1,74 @@ |
+/* libs/graphics/ports/SkFontHost_fontconfig_direct.h |
+** |
+** Copyright 2009, Google Inc. |
+** |
+** Licensed under the Apache License, Version 2.0 (the "License"); |
+** you may not use this file except in compliance with the License. |
+** You may obtain a copy of the License at |
+** |
+** http://www.apache.org/licenses/LICENSE-2.0 |
+** |
+** Unless required by applicable law or agreed to in writing, software |
+** distributed under the License is distributed on an "AS IS" BASIS, |
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+** See the License for the specific language governing permissions and |
+** limitations under the License. |
+*/ |
+ |
+#ifndef FontConfigIPC_DEFINED |
+#define FontConfigIPC_DEFINED |
+ |
+// http://code.google.com/p/chromium/wiki/LinuxSandboxIPC |
+ |
+#include <map> |
+#include <string> |
+ |
+#include "SkFontHost_fontconfig_impl.h" |
+ |
+class FontConfigIPC : public FontConfigInterface { |
+ public: |
+ FontConfigIPC(int fd); |
+ ~FontConfigIPC(); |
+ |
+ // FontConfigInterface implementation. |
+ virtual bool Match(std::string* result_family, unsigned* result_fileid, |
+ bool fileid_valid, unsigned fileid, |
+ const std::string& family, int is_bold, int is_italic); |
+ virtual int Open(unsigned fileid); |
+ |
+ enum Method { |
+ METHOD_MATCH = 0, |
+ METHOD_OPEN = 1, |
+ }; |
+ |
+ struct MatchRequest { |
+ uint16_t method; |
+ uint8_t fileid_valid; |
+ uint32_t fileid; |
+ int8_t is_bold; |
+ int8_t is_italic; |
+ uint8_t family_len; |
+ // char family[0] follows. |
+ }; |
+ |
+ struct MatchReply { |
+ uint8_t result; |
+ uint32_t result_fileid; |
+ uint16_t filename_len; |
+ // char filename[0] follows. |
+ }; |
+ |
+ struct OpenRequest { |
+ uint16_t method; |
+ unsigned fileid; |
+ }; |
+ |
+ struct OpenReply { |
+ uint8_t result; |
+ }; |
+ |
+ private: |
+ const int fd_; |
+}; |
+ |
+#endif // FontConfigIPC_DEFINED |