2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FSysEnvironment.h
20 * @brief This is the header file for the %Environment class.
22 * This header file contains the declarations of the %Environment class.
25 #ifndef _FSYS_ENVIRONMENT_H_
26 #define _FSYS_ENVIRONMENT_H_
28 #include <FBaseString.h>
30 namespace Tizen { namespace System
34 * @enum PredefinedDirectoryType
36 * Defines the type of the pre-defined directory used to classify files to be stored.
40 enum PredefinedDirectoryType
42 PREDEFINED_DIRECTORY_IMAGES = 0, /** The directory for image files to be stored in internal storage (read-write permission) */
43 PREDEFINED_DIRECTORY_SOUNDS, /** the directory for sound files to be stored in internal storage (read-write permission) */
44 PREDEFINED_DIRECTORY_VIDEOS, /** The directory for video files to be stored in internal storage (read-write permission) */
45 PREDEFINED_DIRECTORY_CAMERA, /** The directory for files to be stored in internal storage by camera application (read-write permission) */
46 PREDEFINED_DIRECTORY_DOWNLOADS, /** The directory for files to be stored in internal storage by download manager (read-write permission) */
47 PREDEFINED_DIRECTORY_OTHERS, /** The directory for other files to be stored in internal storage (read-write permission) */
49 PREDEFINED_DIRECTORY_EXTERNAL_IMAGES = 100, /** The directory for image files to be stored in external MMC (read-write permission) */
50 PREDEFINED_DIRECTORY_EXTERNAL_SOUNDS, /** the directory for sound files to be stored in external MMC (read-write permission) */
51 PREDEFINED_DIRECTORY_EXTERNAL_VIDEOS, /** The directory for video files to be stored in external MMC (read-write permission) */
52 PREDEFINED_DIRECTORY_EXTERNAL_CAMERA, /** The directory for files to be stored in external MMC by camera application (read-write permission) */
53 PREDEFINED_DIRECTORY_EXTERNAL_DOWNLOADS, /** The directory for files to be stored in external MMC by download manager (read-write permission) */
54 PREDEFINED_DIRECTORY_EXTERNAL_OTHERS, /** The directory for other files to be stored in external MMC (read-write permission) */
56 PREDEFINED_DIRECTORY_APPLICATIONS = 200, /** The directory for applications to be installed in internal storage (read-only permission) */
57 PREDEFINED_DIRECTORY_EXTERNAL_APPLICATIONS, /** The directory for applications to be installed in external MMC (read-only permission) */
62 * @brief This class provides methods for getting the system environment variables.
66 * @final This class is not intended for extension.
68 * The %Environment class provides methods for getting the system environment variables.
70 class _OSP_EXPORT_ Environment
75 * Gets the path for the media directory that is usually used to store media contents.
79 * @return The media directory path
81 static Tizen::Base::String GetMediaPath(void);
84 * Gets the path for the default download directory that is usually used to store downloaded contents by the Tizen::Content::DownloadManager class.
88 * @return The default download directory path
90 static Tizen::Base::String GetDefaultDownloadPath(void);
93 * Gets the path for the external storage.
97 * @return The external storage directory path
99 static Tizen::Base::String GetExternalStoragePath(void);
102 * Gets the directory path according to the pre-defined directory type.
106 * @return The pre-defined directory path according to the specified @c dirType, @n
107 * else an empty string if the specified @c dirType is invalid
108 * @param[in] dirType The pre-defined directory type
109 * @remarks The directory path for some directory types such as IMAGES, SOUNDS, VIDEOS, CAMERA, DOWNLOADS, and OTHERS may not yet exist,
110 * so you must make sure that it exists before using it.
111 * @see Tizen::Io::Directory::Create()
113 static Tizen::Base::String GetPredefinedPath(PredefinedDirectoryType dirType);
117 * The implementation of this constructor is intentionally blank to prohibit creation of an instance.
124 * The implementation of this destructor is intentionally blank because an instance cannot be created.
131 * This copy constructor is intentionally declared as private to prohibit copying.
135 Environment(const Environment& rhs);
138 * This copy assignment operator is intentionally declared as private to prohibit copying.
142 Environment& operator =(const Environment& rhs);
148 #endif // _FSYS_ENVIRONMENT_H_