Add AllowTextPrediction/IsTextPredictionAllowed api
[platform/core/uifw/dali-adaptor.git] / dali / devel-api / adaptor-framework / file-loader.h
1 #ifndef __DALI_FILE_LOADER_H__
2 #define __DALI_FILE_LOADER_H__
3
4 /*
5  * Copyright (c) 2018 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 // EXTERNAL INCLUDES
21 #include <string>
22 #include <dali/public-api/object/base-handle.h>
23
24 // INTERNAL INCLUDES
25 #include <dali/public-api/dali-adaptor-common.h>
26
27 namespace Dali
28 {
29
30 namespace FileLoader
31 {
32 /**
33  * @brief File type formats
34  * The default format is binary
35  */
36 enum FileType           ///< FileType format
37 {
38   BINARY,               ///< File will be loaded as a binary
39   TEXT                  ///< File will be loaded as text
40 };
41
42 /**
43  * @brief Load the file. It will load it either as a binary or as a text
44  *
45  * @param[in] filename  Filename of the file to load.
46  * @param[in] memblock  Dali::Vector containing the buffer loaded
47  * @param[in] fileType  How we want to load the file. Binary or Text. Binary default
48  * @return error code. 0 - Error, 1 - Ok
49  *
50  *
51  */
52 DALI_ADAPTOR_API int ReadFile(const std::string& filename, Dali::Vector<char> & memblock, FileLoader::FileType fileType = BINARY);
53
54 /**
55  * @brief Load the file. It will load it either as a binary or as a text
56  *
57  * @param[in] filename  Filename of the file to load.
58  * @param[in] fileSize  Size of the loaded file
59  * @param[in] memblock  Dali::Vector containing the buffer loaded
60  * @param[in] fileType  How we want to load the file. Binary or Text. Binary default
61  * @return error code. 0 - Error, 1 - Ok
62  *
63  */
64 DALI_ADAPTOR_API int ReadFile(const std::string& filename, std::streampos& fileSize, Dali::Vector<char> & memblock, FileLoader::FileType fileType = BINARY);
65
66 /**
67  * @brief Get the file size of a file
68  *
69  * @param[in] filename  Filename of the file to load.
70  * @return the size of the file or 0 if file not found
71  */
72 DALI_ADAPTOR_API std::streampos GetFileSize(const std::string& filename);
73 };
74
75 } // Dali
76 #endif // __DALI_FILE_LOADER_H__