| 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 | 
|  |