2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 * @author Zbigniew Kostrzewa (z.kostrzewa@samsung.com)
20 #ifndef WRTDEVICEAPIS_PROFILE_IRINGTONE_H_
21 #define WRTDEVICEAPIS_PROFILE_IRINGTONE_H_
23 #include <Filesystem/IPath.h>
24 #include <Haptics/Types.h>
25 #include <Profile/Types.h>
27 namespace WrtDeviceApis {
33 virtual ~IRingtone() = 0;
37 * @return Volume value.
38 * @throw PlatformException If error in platform occurs.
39 * @throw UnsupportedException If platform doesn't support this feature.
40 * @remarks Different platforms may have different ranges of values.
42 virtual Volume getVolume() const = 0;
46 * @param level Volume value.
47 * @throw PlatformException If error in platform occurs.
48 * @throw UnsupportedException If platform doesn't support this feature.
49 * @remarks Different platforms may respect different ranges of values.
51 virtual void setVolume(Volume level) = 0;
54 * Gets path to ringtone audio file.
56 * @throw PlatformException If error in platform occurs.
57 * @throw UnsupportedException If platform doesn't support this feature.
59 virtual Filesystem::Api::IPathPtr getAudio() const = 0;
62 * Sets path to ringtone audio file.
63 * @param path File path.
64 * @throw PlatformException If error in platform occurs.
65 * @throw UnsupportedException If platform doesn't support this feature.
67 virtual void setAudio(const Filesystem::Api::IPathPtr& path) = 0;
71 * @return Haptics intensity.
72 * @throw PlatformException If error in platform occurs.
73 * @throw UnsupportedException If platform doesn't support this feature.
74 * @remarks Different platforms may have different ranges of values.
76 virtual Haptics::Api::Feedback getHaptics() const = 0;
80 * @param level Haptics intensity.
81 * @throw PlatformException If error in platform occurs.
82 * @throw UnsupportedException If platform doesn't support this feature.
83 * @remarks Different platforms may respect different ranges of values.
85 virtual void setHaptics(Haptics::Api::Feedback level) = 0;
91 #endif // WRTDEVICEAPIS_PROFILE_IRINGTONE_H_