c3396c14203e8aae3c3c54d495504282264b102a
[framework/web/wrt-plugins-common.git] / src / modules / API / Messaging / IMmsSlideProperties.h
1 /*
2  * Copyright (c) 2011 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  *
18  * @file       IMmsSlideProperties.h
19  * @author     Grzegorz Krawczyk (g.krawczyk@samsung.com)
20  * @version    0.1
21  * @brief
22  */
23
24 #ifndef IMMS_SLIDE_PROPERTIES_H
25 #define IMMS_SLIDE_PROPERTIES_H
26
27 #include <string>
28
29 namespace WrtDeviceApis {
30 namespace Messaging {
31 namespace Api {
32 class IMmsSlidePropertyImage
33 {
34   public:
35     typedef unsigned long Ulong;
36
37   public:
38
39     virtual ~IMmsSlidePropertyImage()
40     {
41     }
42
43     /**
44      * get image filename
45      * */
46     virtual const std::string& getImageFilename() const = 0;
47
48     /**
49      * get image filename
50      * @param[in] picture filename
51      * @throw MMS_MESSAGE_SIZE_EXCEEDED_ERROR
52      * @throw MMS_VIDEO_SLIDE_ERROR
53      * */
54     virtual void setImageFilename(const std::string& filename) = 0;
55
56     /**
57      * get imageBegin
58      * begining of image presentation within a slide in milisecond
59      * */
60     virtual Ulong getImageBegin() const = 0;
61
62     /**
63      * set imageBegin;
64      * begining of image presentation within a slide in milisecond
65      * @param[in] - value in miliseconds
66      * */
67     virtual void setImageBegin(Ulong value) = 0;
68
69     /**
70      * get imageEnd
71      * end of image presentation within a slide in milisecond
72      * */
73     virtual Ulong getImageEnd() const = 0;
74
75     /**
76      * set imageBegin;
77      * end of image presentation within a slide in milisecond
78      * @param[in] - value in miliseconds
79      * */
80     virtual void setImageEnd(Ulong value) = 0;
81 };
82
83 //--------------------------------------------------------------------------
84
85 class IMmsSlidePropertyAudio
86 {
87   public:
88     typedef unsigned long Ulong;
89
90   public:
91
92     virtual ~IMmsSlidePropertyAudio()
93     {
94     }
95
96     /**
97      * get audio filename
98      * */
99     virtual const std::string& getAudioFilename() const = 0;
100
101     /**
102      * get audio filename
103      * @param[in] audio filename
104      * @throw MMS_MESSAGE_SIZE_EXCEEDED_ERROR
105      * @throw MMS_VIDEO_SLIDE_ERROR
106      * */
107     virtual void setAudioFilename(const std::string& filename) = 0;
108
109     /**
110      * get audio begin
111      * begining of image presentation within a slide in milisecond
112      * */
113     virtual Ulong getAudioBegin() const = 0;
114
115     /**
116      * set audio begin;
117      * begining of audio presentation within a slide in milisecond
118      * @param[in] - value in miliseconds
119      * */
120     virtual void setAudioBegin(Ulong value) = 0;
121
122     /**
123      * get audioEnd
124      * end of audio presentation within a slide in milisecond
125      * */
126     virtual Ulong getAudioEnd() const = 0;
127
128     /**
129      * set audioEnd;
130      * end of audio presentation within a slide in milisecond
131      * @param[in] - value in miliseconds
132      * */
133     virtual void setAudioEnd(Ulong value) = 0;
134 };
135
136 //--------------------------------------------------------------------------
137
138 class IMmsSlidePropertyText
139 {
140   public:
141     typedef unsigned long Ulong;
142
143   public:
144
145     virtual ~IMmsSlidePropertyText()
146     {
147     }
148
149     /**
150      * get text filename
151      * */
152     virtual const std::string& getTextFilename() const = 0;
153
154     /**
155      * get text filename
156      * @param[in] text filename
157      * @throw MMS_MESSAGE_SIZE_EXCEEDED_ERROR
158      * @throw MMS_VIDEO_SLIDE_ERROR
159      * */
160     virtual void setTextFilename(const std::string& filename) = 0;
161
162     /**
163      * get text begin
164      * begining of text presentation within a slide in milisecond
165      * */
166     virtual Ulong getTextBegin() const = 0;
167
168     /**
169      * set text begin;
170      * begining of text presentation within a slide in milisecond
171      * @param[in] - value in miliseconds
172      * */
173     virtual void setTextBegin(Ulong value) = 0;
174
175     /**
176      * get textEnd
177      * end of text presentation within a slide in milisecond
178      * */
179     virtual Ulong getTextEnd() const = 0;
180
181     /**
182      * set textEnd;
183      * end of text presentation within a slide in milisecond
184      * @param[in] - value in miliseconds
185      * */
186     virtual void setTextEnd(Ulong value) = 0;
187 };
188
189 //--------------------------------------------------------------------------
190
191 class IMmsSlidePropertyVideo
192 {
193   public:
194     typedef unsigned long Ulong;
195
196   public:
197
198     virtual ~IMmsSlidePropertyVideo()
199     {
200     }
201
202     /**
203      * get video filename
204      * */
205     virtual const std::string& getVideoFilename() const = 0;
206
207     /**
208      * get video filename
209      * @param[in] vdeo filename
210      * @throw MMS_MESSAGE_SIZE_EXCEEDED_ERROR
211      * @throw MMS_VIDEO_SLIDE_ERROR
212      * */
213     virtual void setVideoFilename(const std::string& filename) = 0;
214
215     /**
216      * get video begin
217      * begining of video presentation within a slide in milisecond
218      * */
219     virtual Ulong getVideoBegin() const = 0;
220
221     /**
222      * set video begin;
223      * begining of video presentation within a slide in milisecond
224      * @param[in] - value in miliseconds
225      * */
226     virtual void setVideoBegin(Ulong value) = 0;
227
228     /**
229      * get videoEnd
230      * end of video presentation within a slide in milisecond
231      * */
232     virtual Ulong getVideoEnd() const = 0;
233
234     /**
235      * set videoEnd;
236      * end of video presentation within a slide in milisecond
237      * @param[in] - value in miliseconds
238      * */
239     virtual void setVideoEnd(Ulong value) = 0;
240 };
241 }
242 }
243 }
244 #endif