OLD | NEW |
| (Empty) |
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 * Use of this source code is governed by a BSD-style license that can be | |
3 * found in the LICENSE file. | |
4 */ | |
5 | |
6 #ifndef LIBRARIES_NACL_MOUNTS_MOUNT_HTTP_H_ | |
7 #define LIBRARIES_NACL_MOUNTS_MOUNT_HTTP_H_ | |
8 | |
9 #include <string> | |
10 #include "nacl_mounts/mount.h" | |
11 #include "nacl_mounts/pepper_interface.h" | |
12 | |
13 class MountNode; | |
14 class MountNodeDir; | |
15 class MountNodeHttp; | |
16 class MountHttpMock; | |
17 | |
18 class MountHttp : public Mount { | |
19 public: | |
20 typedef std::map<std::string, MountNode*> NodeMap_t; | |
21 | |
22 virtual MountNode *Open(const Path& path, int mode); | |
23 virtual int Unlink(const Path& path); | |
24 virtual int Mkdir(const Path& path, int permissions); | |
25 virtual int Rmdir(const Path& path); | |
26 virtual int Remove(const Path& path); | |
27 | |
28 PP_Resource MakeUrlRequestInfo(const std::string& url, | |
29 const char* method, | |
30 StringMap_t* additional_headers); | |
31 | |
32 protected: | |
33 MountHttp(); | |
34 | |
35 virtual bool Init(int dev, StringMap_t& args, PepperInterface* ppapi); | |
36 virtual void Destroy(); | |
37 MountNodeDir* FindOrCreateDir(const Path& path); | |
38 char *LoadManifest(const std::string& path); | |
39 bool ParseManifest(char *text); | |
40 | |
41 private: | |
42 std::string url_root_; | |
43 StringMap_t headers_; | |
44 NodeMap_t node_cache_; | |
45 bool allow_cors_; | |
46 bool allow_credentials_; | |
47 bool allow_stat_cache_; | |
48 | |
49 friend class Mount; | |
50 friend class MountNodeHttp; | |
51 friend class MountHttpMock; | |
52 }; | |
53 | |
54 #endif // LIBRARIES_NACL_MOUNTS_MOUNT_HTTP_H_ | |
OLD | NEW |