[Filesystem] List of virtual roots for resolve function fixed.
[platform/core/api/webapi-plugins.git] / src / filesystem / filesystem_instance.h
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16
17 #ifndef FILESYSTEM_FILESYSTEM_INSTANCE_H_
18 #define FILESYSTEM_FILESYSTEM_INSTANCE_H_
19
20 #include "common/extension.h"
21 #include "common/filesystem/filesystem_storage.h"
22 #include "filesystem/filesystem_manager.h"
23 #include "filesystem_utils.h"
24
25 namespace extension {
26 namespace filesystem {
27
28 class FilesystemInstance : public common::ParsedInstance, FilesystemStateChangeListener {
29  public:
30   FilesystemInstance();
31   virtual ~FilesystemInstance();
32
33  private:
34   void FileCreateSync(const picojson::value& args, picojson::object& out);
35   void FileRename(const picojson::value& args, picojson::object& out);
36   void FileStat(const picojson::value& args, picojson::object& out);
37   void FileStatSync(const picojson::value& args, picojson::object& out);
38   void FileReadString(const picojson::value& args, picojson::object& out);
39   void FileReadBytes(const picojson::value& args, picojson::object& out);
40   void FileWriteBytes(const picojson::value& args, picojson::object& out);
41   void FileWriteBase64(const picojson::value& args, picojson::object& out);
42   void FileWriteString(const picojson::value& args, picojson::object& out);
43   void FilesystemFetchAllStorages(const picojson::value& args, picojson::object& out);
44   void FileSystemManagerFetchStorages(const picojson::value& args, picojson::object& out);
45   void FileSystemManagerMakeDirectory(const picojson::value& args, picojson::object& out);
46   void FileSystemManagerMakeDirectorySync(const picojson::value& args, picojson::object& out);
47   void ReadDir(const picojson::value& args, picojson::object& out);
48   void UnlinkFile(const picojson::value& args, picojson::object& out);
49   void RemoveDirectory(const picojson::value& args, picojson::object& out);
50   void StartListening(const picojson::value& args, picojson::object& out);
51   void StopListening(const picojson::value& args, picojson::object& out);
52   void CopyTo(const picojson::value& args, picojson::object& out);
53   void onFilesystemStateChangeErrorCallback();
54   void onFilesystemStateChangeSuccessCallback(const common::Storage& storage);
55   void PrepareError(const FilesystemError& error, picojson::object& out);
56   void FileSystemManagerGetCanonicalPath(const picojson::value& args, picojson::object& out);
57 };
58
59 }  // namespace filesystem
60 }  // namespace extension
61
62 #endif  // FILESYSTEM_FILESYSTEM_INSTANCE_H_