Merge "Fix memory leaks in Locales" into tizen_2.1
[platform/framework/native/appfw.git] / inc / FAppAppControl.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
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.
16 //
17
18 /**
19  * @file                FAppAppControl.h
20  * @brief               This is the header file for the %AppControl class.
21  *
22  * This header file contains the declarations of the %AppControl class.
23  */
24
25 #ifndef _FAPP_APPCONTROL_H_
26 #define _FAPP_APPCONTROL_H_
27
28 #include <FBaseObject.h>
29 #include <FBaseString.h>
30 #include <FAppTypes.h>
31
32 namespace Tizen { namespace Base { namespace Collection {
33 class IList;
34 class IMap;
35 }}}
36
37 namespace Tizen { namespace App
38 {
39
40 class IAppControlEventListener;
41 class IAppControlResponseListener;
42
43 /**
44 * @if OSPDEPREC
45 * The Contact %AppControl ID. @n
46 *
47 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_contact.htm">Contact Application Control</a>.
48 *
49 * @brief        <i> [Deprecated] </i>
50 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
51 *                               Instead of this variable, use the literal, L"tizen.contacts".
52 * @since        2.0
53 * @endif
54 */
55 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CONTACT;
56
57 /**
58 * @if OSPDEPREC
59 * The Calendar %AppControl ID. @n
60 *
61 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_calendar.htm">Calendar Application Control</a>.
62 *
63 * @brief        <i> [Deprecated] </i>
64 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
65 *                               Instead of this variable, use the literal, L"tizen.calendar".
66 * @since        2.0
67 * @endif
68 */
69 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CALENDAR;
70
71 /**
72 * @if OSPDEPREC
73 * The Todo %AppControl ID.
74 *
75 * @brief        <i> [Deprecated] </i>
76 * @deprecated This application control provider name is deprecated.
77 * @b OPERATION_PICK:
78 * @since        2.0
79 *
80 * @remarks      This constant is currently not available.
81 * @endif
82 */
83 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_TODO;
84
85 /**
86 * @if OSPDEPREC
87 * The Dial %AppControl ID. @n
88 *
89 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_call.htm">Call Application Control</a>.
90 *
91 * @brief        <i> [Deprecated] </i>
92 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
93 *                               Instead of this variable, use the literal, L"tizen.phone" with operation L"http://tizen.org/appcontrol/operation/dial".
94 * @since        2.0
95 * @endif
96 */
97 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_DIAL;
98
99 /**
100 * @if OSPDEPREC
101 * The Call %AppControl ID. @n
102 * Makes a phone call. @n
103 *
104 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_call.htm">Call Application Control</a>.
105 *
106 * @brief        <i> [Deprecated] </i>
107 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
108 *                               Instead of this variable, use the literal, L"tizen.phone" with operation L"http://tizen.org/appcontrol/operation/call".
109 * @since        2.0
110 * @privlevel    public
111 * @privilege    %http://tizen.org/privilege/systeminfo
112 *
113 * @remarks Privilege is required to use this application control.
114 * @endif
115 */
116 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CALL;
117
118
119 /**
120 * @if OSPDEPREC
121 * The Message %AppControl ID. @n
122 *
123 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_message.htm">Message Application Control</a>.
124 *
125 * @brief        <i> [Deprecated] </i>
126 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
127 *                               Instead of this variable, use the literal, L"tizen.messages".
128 * @since        2.0
129 *
130 * @remarks An MMS attachment may contain either an image, audio, video, vCard, vCalendar or a combination of an image, audio, vCard, and vCalendar files. @n
131 * MMS attachments cannot contain a video in combination with an image or an audio file.
132 * @endif
133 */
134 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_MESSAGE;
135
136 /**
137 * @if OSPDEPREC
138 * The Email %AppControl ID. @n
139 *
140 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_email.htm">Email Application Control</a>.
141 *
142 * @brief        <i> [Deprecated] </i>
143 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
144 *                               Instead of this variable, use the literal, L"tizen.email".
145 * @since        2.0
146 * @endif
147 */
148 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_EMAIL;
149
150 /**
151 * @if OSPDEPREC
152 * The Media %AppControl ID. @n
153 *
154 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_media.htm">Media Application Control</a>.
155 *
156 * @brief        <i> [Deprecated] </i>
157 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
158 *                               Instead of this variable, use the literal, L"tizen.filemanager" or L"tizen.gallery".
159 * @since        2.0
160 * @endif
161 */
162 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_MEDIA;
163
164 /**
165 * @if OSPDEPREC
166 * The Image %AppControl ID. @n
167 *
168 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_image.htm">Image Application Control</a>.
169 *
170 * @brief        <i> [Deprecated] </i>
171 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
172 *                               Instead of this variable, use the literal, L"tizen.imageviewer".
173 * @since        2.0
174 * @endif
175 */
176 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_IMAGE;
177
178 /**
179 * @if OSPDEPREC
180 * The Video %AppControl ID. @n
181 *
182 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_video.htm">Video Application Control</a>.
183 *
184 * @brief        <i> [Deprecated] </i>
185 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
186 *                               Instead of this variable, use the literal, L"tizen.videoplayer".
187 * @since        2.0
188 * @endif
189 */
190 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_VIDEO;
191
192 /**
193 * @if OSPDEPREC
194 * The Audio %AppControl ID. @n
195 *
196 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_audio.htm">Audio Application Control</a>.
197 *
198 * @brief        <i> [Deprecated] </i>
199 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
200 *                               Instead of this variable, use the literal, L"tizen.musicplayer".
201 * @since        2.0
202 * @endif
203 */
204 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_AUDIO;
205
206 /**
207 * @if OSPDEPREC
208 * The Browser %AppControl ID. @n
209 *
210 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_browser.htm">Browser Application Control</a>.
211 *
212 * @brief        <i> [Deprecated] </i>
213 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
214 *                               Instead of this variable, use the literal, L"tizen.internet".
215 * @since        2.0
216 * @privlevel    public
217 * @privilege    %http://tizen.org/privilege/web.service
218 * @endif
219 */
220 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_BROWSER;
221
222 /**
223 * @if OSPDEPREC
224 * The Camera %AppControl ID. @n
225 *
226 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_camera.htm">Camera Application Control</a>.
227 *
228 * @brief        <i> [Deprecated] </i>
229 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
230 *                               Instead of this variable, use the literal, L"tizen.camera".
231 * @since        2.0
232 * @endif
233 */
234 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CAMERA;
235
236 /**
237 * @if OSPDEPREC
238 * The Bluetooth %AppControl ID. @n
239 *
240 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_bluetooth.htm">Bluetooth Application Control</a>.
241 *
242 * @brief        <i> [Deprecated] </i>
243 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
244 *                               Instead of this variable, use the literal, L"tizen.bluetooth".
245 * @since        2.0
246 * @endif
247 */
248 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_BT;
249
250 /**
251 * @if OSPDEPREC
252 * The Setting %AppControl ID. @n
253 *
254 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_settings.htm">Settings Application Control</a>.
255 *
256 * @brief        <i> [Deprecated] </i>
257 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
258 *                               Instead of this variable, use the literal, L"tizen.settings".
259 * @since        2.0
260 * @endif
261 */
262 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_SETTINGS;
263
264 /**
265 * @if OSPDEPREC
266 * The Contact %AppControl provider ID. @n
267 *
268 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_contact.htm">Contact Application Control</a>.
269 *
270 * @brief        <i> [Deprecated] </i>
271 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
272 *                               Instead of this variable, use the literal, L"tizen.contacts".
273 * @since        2.0
274 * @endif
275 */
276 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CONTACT;
277
278 /**
279 * @if OSPDEPREC
280 * The Certificate Manager %AppControl provider ID. @n
281 *
282 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_certmgr.htm">Certificate Manager Application Control</a>.
283 *
284 * @brief        <i> [Deprecated] </i>
285 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
286 *                               Instead of this variable, use the literal, L"tizen.certificatemanager".
287 * @since                2.0
288 * @endif
289 */
290 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CERTIFICATE_MANAGER;
291
292 /**
293 * @if OSPDEPREC
294 * The Calendar %AppControl provider ID. @n
295 *
296 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_calendar.htm">Calendar Application Control</a>.
297 *
298 * @brief        <i> [Deprecated] </i>
299 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
300 *                               Instead of this variable, use the literal, L"tizen.calendar".
301 * @since        2.0
302 * @endif
303 */
304 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CALENDAR;
305
306 /**
307 * @if OSPDEPREC
308 * The Call %AppControl provider ID. @n
309 * Makes a phone call. @n
310 *
311 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_call.htm">Call Application Control</a>.
312 *
313 * @brief        <i> [Deprecated] </i>
314 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
315 *                               Instead of this variable, use the literal, L"tizen.phone".
316 * @since                        2.0
317 * @privlevel    public
318 * @privilege    %http://tizen.org/privilege/systeminfo
319 *
320 * @remarks Privilege is required to use this application control.
321 * @endif
322 */
323 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CALL;
324
325 /**
326 * @if OSPDEPREC
327 * The Message %AppControl provider ID. @n
328 *
329 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_message.htm">Message Application Control</a>.
330 *
331 * @brief        <i> [Deprecated] </i>
332 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
333 *                               Instead of this variable, use the literal, L"tizen.messages".
334 * @since        2.0
335 *
336 * @remarks      An MMS attachment may contain either an image, audio, video, vCard, vCalendar or a combination of an image, audio, vCard, and vCalendar files. @n
337 *           MMS attachments cannot contain a video in combination with an image or an audio file. @n
338 *                       From Tizen 2.0, the CC and BCC recipients are merged with the TO recipients when launching the MMS app control.
339 * @endif
340 */
341 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_MESSAGE;
342
343 /**
344 * @if OSPDEPREC
345 * The Email %AppControl provider ID. @n
346 *
347 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_email.htm">Email Application Control</a>.
348 *
349 * @brief        <i> [Deprecated] </i>
350 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
351 *                               Instead of this variable, use the literal, L"tizen.email".
352 * @since        2.0
353 * @endif
354 */
355 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_EMAIL;
356
357 /**
358 * @if OSPDEPREC
359 * The Media %AppControl provider ID. @n
360 *
361 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_media.htm">Media Application Control</a>.
362 *
363 * @brief        <i> [Deprecated] </i>
364 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
365 *                               Instead of this variable, use the literal, L"tizen.filemanager" or L"tizen.gallery".
366 * @since        2.0
367 * @endif
368 */
369 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_MEDIA;
370
371 /**
372 * @if OSPDEPREC
373 * The Image %AppControl provider ID. @n
374 *
375 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_image.htm">Image Application Control</a>.
376 *
377 * @brief        <i> [Deprecated] </i>
378 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
379 *                               Instead of this variable, use the literal, L"tizen.imageviewer".
380 * @since        2.0
381 * @endif
382 */
383 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_IMAGE;
384
385 /*
386 * @if OSPDEPREC
387 * The ImageCrop application control provider ID @n
388 *
389 * @brief        <i> [Deprecated] </i>
390 * @deprecated   This variable is provided only for backward compatibility and will be deleted in a future release.
391 *                               use the literal, L"tizen.imageeditor", instead of this variable.
392 * @since        2.0
393 * @endif
394 */
395 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_IMAGE_EDITOR;
396
397 /**
398 * @if OSPDEPREC
399 * The Video %AppControl provider ID. @n
400 *
401 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_video.htm">Video Application Control</a>.
402 *
403 * @brief        <i> [Deprecated] </i>
404 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
405 *                               Instead of this variable, use the literal, L"tizen.videoplayer".
406 * @since        2.0
407 * @endif
408 */
409 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_VIDEO;
410
411 /**
412 * @if OSPDEPREC
413 * The Audio %AppControl provider ID. @n
414 *
415 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_audio.htm">Audio Application Control</a>.
416 *
417 * @brief        <i> [Deprecated] </i>
418 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
419 *                               Instead of this variable, use the literal, L"tizen.musicplayer".
420 * @since        2.0
421 * @endif
422 */
423 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_AUDIO;
424
425 /**
426 * @if OSPDEPREC
427 * The Browser %AppControl provider ID. @n
428 *
429 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_browser.htm">Browser Application Control</a>.
430 *
431 * @brief        <i> [Deprecated] </i>
432 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
433 *                               Instead of this variable, use the literal, L"tizen.internet".
434 * @since                        2.0
435 * @privlevel    public
436 * @privilege    %http://tizen.org/privilege/web.service
437 *
438 * @remarks Privilege is required to use this application control.
439 * @endif
440 */
441 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_BROWSER;
442
443 /**
444 * @if OSPDEPREC
445 * The Camera %AppControl provider ID. @n
446 *
447 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_camera.htm">Camera Application Control</a>.
448 *
449 * @brief        <i> [Deprecated] </i>
450 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
451 *                               Instead of this variable, use the literal, L"tizen.camera".
452 * @since        2.0
453 * @endif
454 */
455 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CAMERA;
456
457 /**
458 * @if OSPDEPREC
459 * The Bluetooth %AppControl provider ID. @n
460 *
461 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_bluetooth.htm">Bluetooth Application Control</a>.
462 *
463 * @brief        <i> [Deprecated] </i>
464 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
465 *                               Instead of this variable, use the literal, L"tizen.bluetooth".
466 * @since        2.0
467 *
468 * @remarks Bluetooth functionality cannot be tested on the Emulator.
469 * @endif
470 */
471 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_BLUETOOTH;
472
473 /**
474 * @if OSPDEPREC
475 * The Setting %AppControl provider ID. @n
476 *
477 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_settings.htm">Settings Application Control</a>.
478 *
479 * @brief        <i> [Deprecated] </i>
480 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
481 *                               Instead of this variable, use the literal, L"tizen.settings".
482 * @since    2.0
483 * @endif
484 */
485 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_SETTINGS;
486
487 /**
488 * @if OSPDEPREC
489 * Operation Add. @n
490 * Adds an application item.
491 *
492 * @brief        <i> [Deprecated] </i>
493 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
494 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/add".
495 * @since        2.0
496 * @endif
497 */
498 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_ADD;
499
500 /**
501 * @if OSPDEPREC
502 * Operation Pick. @n
503 * Picks some application item(s).
504 *
505 * @brief        <i> [Deprecated] </i>
506 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
507 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/pick".
508 * @since        2.0
509 * @endif
510 */
511 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_PICK;
512
513 /**
514 * @if OSPDEPREC
515 * Operation Edit. @n
516 * Edits an application item.
517 *
518 * @brief        <i> [Deprecated] </i>
519 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
520 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/edit".
521 * @since        2.0
522 * @endif
523 */
524 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_EDIT;
525
526 /**
527 * @if OSPDEPREC
528 * Operation View. @n
529 * Shows the application content.
530 *
531 * @brief        <i> [Deprecated] </i>
532 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
533 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/view".
534 * @since        2.0
535 * @endif
536 */
537 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_VIEW;
538
539 /**
540 * @if OSPDEPREC
541 * Operation Play. @n
542 * Plays the application content.
543 *
544 * @brief        <i> [Deprecated] </i>
545 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
546 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/view".
547 * @since        2.0
548 * @endif
549 */
550 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_PLAY;
551
552 /**
553 * @if OSPDEPREC
554 * Operation Default. @n
555 *
556 * Uses the default operation specific to the application control.
557 * An application control can export its functionality using an operation. If the application control exports only one operation, OPERATION_DEFAULT can act as an alias for the operation.
558 *
559 * @brief        <i> [Deprecated] </i>
560 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
561 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/main".
562 * @since        2.0
563 * @endif
564 */
565 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_DEFAULT;
566
567 /**
568 * @if OSPDEPREC
569 * Operation Capture.
570 *
571 * @brief        <i> [Deprecated] </i>
572 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
573 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/createcontent".
574 * @since        2.0
575 * @endif
576 */
577 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_CAPTURE;
578
579
580 /**
581 * @if OSPDEPREC
582 * Operation Add. @n
583 * Adds an application item.
584 *
585 * @brief        <i> [Deprecated] </i>
586 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
587 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/add".
588 * @since        2.0
589 * @endif
590 */
591 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_ADD;
592
593 /**
594 * @if OSPDEPREC
595 * Operation Call. @n
596 * Makes a call to the specified phone number.
597 *
598 * @brief        <i> [Deprecated] </i>
599 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
600 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/call".
601 * @since        2.0
602 * @endif
603 */
604 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CALL;
605
606 /**
607 * @if OSPDEPREC
608 * Operation Capture.
609 *
610 * @brief        <i> [Deprecated] </i>
611 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
612 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/createcontent".
613 * @since        2.0
614 * @endif
615 */
616 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CAPTURE;
617
618 /**
619 * @if OSPDEPREC
620 * Operation Compose.
621 *
622 * @brief        <i> [Deprecated] </i>
623 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
624 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/compose".
625 * @since        2.0
626 * @endif
627 */
628 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_COMPOSE;
629
630 /**
631 * @if OSPDEPREC
632 * Operation Configure Settings.
633 *
634 * @brief        <i> [Deprecated] </i>
635 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
636 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/configure".
637 * @since        2.0
638 * @endif
639 */
640 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CONFIGURE;
641
642 /**
643 * @if OSPDEPREC
644 * Operation Default. @n
645 *
646 * Uses the default operation specific to the application control.
647 * An application control can export its functionality using an operation. If the application control exports only one operation, OPERATION_DEFAULT can act as an alias for the operation.
648 *
649 * @brief        <i> [Deprecated] </i>
650 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
651 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/main".
652 * @since 2.0
653 * @endif
654 */
655 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_DEFAULT;
656
657 /**
658 * @if OSPDEPREC
659 * Operation Dial. @n
660 * Launches the dial screen for making a call.
661 *
662 * @brief        <i> [Deprecated] </i>
663 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
664 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/dial".
665 * @since        2.0
666 * @endif
667 */
668 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_DIAL;
669
670 /**
671 * @if OSPDEPREC
672 * Operation Edit. @n
673 * Edits an application item.
674 *
675 * @brief        <i> [Deprecated] </i>
676 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
677 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/edit".
678 * @since        2.0
679 * @endif
680 */
681 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_EDIT;
682
683 /**
684 * @if OSPDEPREC
685 * Operation Main. @n
686 *
687 * All the application exports the implicit %AppControl with %APPCONTROL_OPERATION_MAIN operation.
688 *
689 * @brief        <i> [Deprecated] </i>
690 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
691 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/main".
692 *       @since  2.0
693 * @endif
694 */
695 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_MAIN;
696
697 /**
698 * @if OSPDEPREC
699 * Operation Pick. @n
700 * Picks some application item(s).
701 *
702 * @brief        <i> [Deprecated] </i>
703 * @deprecated   This variable is providyed only for backward compatibility and will be deleted in the near future.
704 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/pick".
705 * @since        2.0
706 * @endif
707 */
708 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_PICK;
709
710 /**
711 * @if OSPDEPREC
712 * Operation Play. @n
713 * Plays the application content.
714 *
715 * @brief        <i> [Deprecated] </i>
716 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
717 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/view".
718 * @since        2.0
719 * @endif
720 */
721 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_PLAY;
722
723 /**
724 * @if OSPDEPREC
725 * Operation Record. @n
726 * Records the content.
727 *
728 * @brief        <i> [Deprecated] </i>
729 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
730 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/createcontent".
731 * @since        2.0
732 * @endif
733 */
734 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_RECORD;
735
736 /**
737 * @if OSPDEPREC
738 * Operation Share. @n
739 * Shares the contents.
740 *
741 * @brief        <i> [Deprecated] </i>
742 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
743 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/share".
744 * @since        2.0
745 * @endif
746 */
747 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_SHARE;
748
749 /**
750 * @if OSPDEPREC
751 * Operation View. @n
752 * Shows the application content.
753 *
754 * @brief        <i> [Deprecated] </i>
755 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
756 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/view".
757 * @since        2.0
758 * @endif
759 */
760 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_VIEW;
761
762 /**
763 * @if OSPDEPREC
764 * Operation Crop. @n
765 * Shows image with the crop rectangle.
766 *
767 * @brief        <i> [Deprecated] </i>
768 * @deprecated   This variable is provided only for backward compatibility and will be deleted in the near future.
769 *                               Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/crop".
770 * @since        2.0
771 * @endif
772 */
773 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CROP;
774
775 /**
776  * @if OSPDEPREC
777  * Not specified category.
778  *
779  * @brief       <i> [Deprecated] </i>
780  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
781  * @since       2.0
782  * @endif
783  */
784 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_NONE;
785
786 /**
787  * @if OSPDEPREC
788  * The audio category.
789  *
790  * @brief       <i> [Deprecated] </i>
791  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
792  * @since       2.0
793  * @endif
794  */
795 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_AUDIO;
796
797 /**
798  * @if OSPDEPREC
799  * The browser category.
800  *
801  * @brief       <i> [Deprecated] </i>
802  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
803  * @since       2.0
804  * @endif
805  */
806 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_BROWSER;
807
808 /**
809  * @if OSPDEPREC
810  * The Bluetooth device category.
811  *
812  * @brief       <i> [Deprecated] </i>
813  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
814  * @since       2.0
815  * @endif
816  */
817 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_BLUETOOTH;
818
819 /**
820  * @if OSPDEPREC
821  * The calendar category.
822  *
823  * @brief       <i> [Deprecated] </i>
824  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
825  * @since       2.0
826  * @endif
827  */
828 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CALENDAR;
829
830 /**
831  * @if OSPDEPREC
832  * The certificate category.
833  *
834  * @brief       <i> [Deprecated] </i>
835  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
836  * @since       2.0
837  * @endif
838  */
839 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CERTIFICATE;
840
841 /**
842  * @if OSPDEPREC
843  * The contact category.
844  *
845  * @brief       <i> [Deprecated] </i>
846  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
847  * @since       2.0
848  * @endif
849  */
850 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CONTACT;
851
852 /**
853  * @if OSPDEPREC
854  * The document category.
855  *
856  * @brief       <i> [Deprecated] </i>
857  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
858  * @since       2.0
859  * @endif
860  */
861 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_DOCUMENT;
862
863 /**
864  * @if OSPDEPREC
865  * The email category.
866  *
867  * @brief       <i> [Deprecated] </i>
868  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
869  * @since       2.0
870  * @endif
871  */
872 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_EMAIL;
873
874 /**
875  * @if OSPDEPREC
876  * The media category. @n
877  * Specifying App::APPCONTROL_CATEGORY_MEDIA is equivalent to specifying all the App::APPCONTROL_CATEGORY_AUDIO,
878  * App::APPCONTROL_CATEGORY_IMAGE, and App::APPCONTROL_CATEGORY_VIDEO categories.
879  *
880  * @brief       <i> [Deprecated] </i>
881  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
882  * @since       2.0
883  * @endif
884  */
885 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_MEDIA;
886
887 /**
888  * @if OSPDEPREC
889  * The MMS category.
890  *
891  * @brief       <i> [Deprecated] </i>
892  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
893  * @since       2.0
894  * @endif
895  */
896 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_MMS;
897
898 /**
899  * @if OSPDEPREC
900  * The image category.
901  *
902  * @brief       <i> [Deprecated] </i>
903  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
904  * @since       2.0
905  * @endif
906  */
907 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_IMAGE;
908
909 /**
910  * @if OSPDEPREC
911  * The security category.
912  *
913  * @brief       <i> [Deprecated] </i>
914  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
915  * @since       2.0
916  * @endif
917  */
918 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SECURITY;
919
920 /**
921  * @if OSPDEPREC
922  * The SMS category.
923  *
924  * @brief       <i> [Deprecated] </i>
925  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
926  * @since       2.0
927  * @endif
928  */
929 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SMS;
930
931 /**
932  * @if OSPDEPREC
933  * The settings category.
934  *
935  * @brief       <i> [Deprecated] </i>
936  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
937  * @since       2.0
938  * @endif
939  */
940 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SETTINGS;
941
942 /**
943  * @if OSPDEPREC
944  * The video call category.
945  *
946  * @brief       <i> [Deprecated] </i>
947  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
948  * @since       2.0
949  * @endif
950  */
951 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VIDEO_CALL;
952
953 /**
954  * @if OSPDEPREC
955  * The voice call category.
956  *
957  * @brief       <i> [Deprecated] </i>
958  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
959  * @since       2.0
960  * @endif
961  */
962 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VOICE_CALL;
963
964 /**
965  * @if OSPDEPREC
966  * The video category.
967  *
968  * @brief       <i> [Deprecated] </i>
969  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
970  * @since       2.0
971  * @endif
972  */
973 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VIDEO;
974
975 /**
976  * @if OSPDEPREC
977  * The complete URI handling category corresponding to AppManager::StartAppControl().
978  *
979  * @brief       <i> [Deprecated] </i>
980  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
981  * @since       2.0
982  * @endif
983  */
984 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_URI;
985
986 /**
987  * @if OSPDEPREC
988  * The %AppControl operation is successful.
989  *
990  * @brief       <i> [Deprecated] </i>
991  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
992  * @since       2.0
993  * @endif
994  */
995 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_SUCCEEDED;
996
997 /**
998  * @if OSPDEPREC
999  * The %AppControl operation has failed.
1000  *
1001  * @brief       <i> [Deprecated] </i>
1002  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
1003  * @since       2.0
1004  * @endif
1005  */
1006 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_FAILED;
1007
1008 /**
1009  * @if OSPDEPREC
1010  * The %AppControl operation is canceled.
1011  *
1012  * @brief       <i> [Deprecated] </i>
1013  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
1014  * @since       2.0
1015  * @endif
1016  */
1017 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_CANCELED;
1018
1019 /**
1020  * @if OSPDEPREC
1021  * The %AppControl is terminated without sending the result.
1022  *
1023  * @brief       <i> [Deprecated] </i>
1024  * @deprecated  This variable is provided only for backward compatibility and will be deleted in the near future.
1025  * @since       2.0
1026  * @endif
1027  */
1028 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_TERMINATED;
1029
1030 /**
1031 * @class        AppControl
1032 * @brief        This class represents the application control behavior.
1033 * @since        2.0
1034 *
1035 *       @final  This class is not intended for extension.
1036 *
1037 *       The %AppControl class represents the application control behavior that provides a standard mechanism for using specific operations exported by other applications.
1038 *
1039 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/app/app_controls.htm">Application Controls</a>.
1040 *
1041 * @see  Tizen::App::AppManager
1042 *
1043 *  The following example demonstrates how to use the %AppControl class.
1044 *
1045 *
1046 * @code
1047 *
1048 *       using namespace Tizen::Base::Collection;
1049 *       using namespace Tizen::App;
1050 *
1051 *       void
1052 *       MyAppClass::AppControlCallSample(void)
1053 *       {
1054 *               HashMap extraData;
1055 *               String telKey = L"tel";
1056 *               String telVal = L"1234567890";
1057 *               String typeKey = L"type";
1058 *               String typeVal = L"voice";
1059 *
1060 *               extraData.Construct();
1061 *               extraData.Add(&telKey, &telVal);
1062 *               extraData.Add(&typeKey, &typeVal);
1063 *
1064 *               AppControl* pAc = AppManager::FindAppControlN(L"tizen.phone", L"http://tizen.org/appcontrol/operation/call");
1065 *               if(pAc)
1066 *               {
1067 *                       pAc->Start(null, null, &extraData, null);
1068 *                       delete pAc;
1069 *               }
1070 *       }
1071 *
1072 * @endcode
1073 */
1074 class _OSP_EXPORT_ AppControl
1075         : public Tizen::Base::Object
1076 {
1077 public:
1078         /**
1079          * This destructor overrides Tizen::Base::Object::~Object().
1080          *
1081          * @since       2.0
1082          */
1083         virtual ~AppControl(void);
1084
1085         /**
1086          * @if OSPDEPREC
1087          * Starts the resolved application control. @n
1088          * Once the application starts, it goes to the background and the target
1089          * application control is displayed.
1090          *
1091          * @brief       <i> [Deprecated] </i>
1092          * @deprecated  This method is deprecated because IAppControlEventListener method is deprecated and replaced by
1093          *                              IAppControlResponseListener due to lack of argument capability. @n
1094          *                              Instead of using this method, use Start().
1095          * @since       2.0
1096          * @privlevel   public
1097          * @privilege   %http://tizen.org/privilege/application.launch
1098          *
1099          * @return              An error code
1100          * @param[in]   pDataList       The data list to deliver to the resolved application control @n
1101          *                                                      The maximum size of the list is 4096 bytes.
1102          * @param[in]   pListener       The application control callback listener @n
1103          *                                                      Some application controls need to get the callback result by implementing the IAppControlEventListener interface.
1104          * @exception   E_SUCCESS                               The method is successful.
1105          * @exception   E_MAX_EXCEEDED                  The size of @c pDataList has exceeded the maximum limit.
1106          * @exception   E_OBJ_NOT_FOUND                 The target application control resource is not found.
1107          * @exception   E_IN_PROGRESS                   The application control is in progress: @n
1108          *                                       - The application has already started an %AppControl. @n
1109          *                                       - The target application has already started.
1110          * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
1111          * @exception   E_SYSTEM                                The method cannot proceed due to a severe system error.
1112          * @exception E_ILLEGAL_ACCESS                          The application is not signed with the same certificate of target application. @b Since: @b 2.1
1113          * @remarks             If the IAppControlEventListener instance (@c pListener) needs to get the
1114          *               callback result for an application control, it must be valid till
1115          *               IAppControlEventListener::OnAppControlCompleted() is invoked.
1116          *               For example, a form object listener must not be deleted before the
1117          *               system invokes %IAppControlEventListener::OnAppControlCompleted().
1118          * @see AppManager::FindAppControlN()
1119          * @see AppManager::FindAppControlsN()
1120          * @endif
1121          */
1122         result Start(const Tizen::Base::Collection::IList* pDataList, IAppControlEventListener* pListener);
1123
1124         /**
1125          * Starts the found application control. @n
1126          * Once the found application starts, the calling application goes to the background and the found
1127          * application is displayed.
1128          *
1129          * @since       2.0
1130          * @privlevel   public
1131          * @privilege   %http://tizen.org/privilege/application.launch
1132          *
1133          * @return              An error code
1134          * @param[in]   pUriData        A pointer to the URI data
1135          * @param[in]   pDataType       A pointer to the MIME type (RFC 2046) data
1136          * @param[in]   pExtraData      A pointer to an argument map of key and value pair where the key is of type String and the value is of type String or of type ArrayList of String to deliver to the resolved application @n
1137          *                                                      The maximum size is 16 kilo bytes.
1138          * @param[in]   pListener       The application control callback listener @n
1139          *                                                      Some application need to get the result by implementing the IAppControlResponseListener interface.
1140          * @exception   E_SUCCESS                               The method is successful.
1141          * @exception   E_MAX_EXCEEDED                  The size of @c pExtraData has exceeded the maximum limit.
1142          * @exception   E_OBJ_NOT_FOUND                 The target application control is not found.
1143          * @exception   E_IN_PROGRESS                   The application control is in progress: @n
1144          *                                      - The application has already started an %AppControl.
1145          * @exception   E_PRIVILEGE_DENIED              The application does not have the privilege to call this method.
1146          * @exception   E_SYSTEM                                The method cannot proceed due to a severe system error.
1147          * @exception E_ILLEGAL_ACCESS                          The application is not signed with the same certificate of target application. @b Since: @b 2.1
1148          * @remarks             If the calling application needs to get some result for application control,
1149          *                              it must be valid till IAppControlResponseListener::OnAppControlCompleteResponseReceived() is invoked.
1150          *                              For example, a form object listener must not be deleted before the
1151          *                              system invokes %IAppControlResponseListener::OnAppControlCompleteResponseReceived().
1152          * @see AppManager::FindAppControlN()
1153          * @see AppManager::FindAppControlsN()
1154          */
1155         result Start(const Tizen::Base::String* pUriData, const Tizen::Base::String* pDataType, const Tizen::Base::Collection::IMap* pExtraData, IAppControlResponseListener* pListener);
1156
1157         /**
1158          * Finds the matching application control with given operation ID, URI pattern, data type, and category and
1159          * starts the found one. @n
1160          * If there are more than one application controls found, then the selection is shown for user and the one that the user selects is started.
1161          * When the found application control is started, the URI pattern, MIME type, and extra data is delivered using IAppControlProviderEventListener.
1162          *
1163          * @since       2.0
1164          * @privlevel   public
1165          * @privilege   %http://tizen.org/privilege/application.launch
1166          *
1167          * @return  An error code
1168          * @param[in]   operationId     The operation ID
1169          * @param[in]   pUriPattern             A URI pattern which is used for application control resolution and is delivered as the argument
1170          * @param[in]   pDataType   The MIME type (RFC 2046) or file extension @n
1171          *                          The '.' prefix must be used when specifying the file extension.
1172          * @param[in]   pCategory       The application control category
1173          * @param[in]   pExtraData      A pointer to an argument map of key and value pair where the key is of type Tizen::Base::String and the value is of
1174          *                                              type %Tizen::Base::String or of type Tizen::Base::Collection::ArrayList of %Tizen::Base::String to deliver to
1175          *                                              the resolved application @n
1176          *                                                      The maximum size is 16 kilo bytes.
1177          * @param[in]   pListener   A listener that gets notified
1178          * @exception   E_SUCCESS           The method is successful.
1179          * @exception   E_MAX_EXCEEDED      The size of @c pDataList has exceeded the maximum limit.
1180          * @exception   E_OBJ_NOT_FOUND     The application control is not found.
1181          * @exception   E_PRIVILEGE_DENIED  The application does not have the privilege to call this method.
1182          * @exception   E_SYSTEM                                The method cannot proceed due to a severe system error.
1183          * @exception E_ILLEGAL_ACCESS                          The application is not signed with the same certificate of target application. @b Since: @b 2.1  
1184          * @see IAppControlResponseListener
1185          */
1186         static result FindAndStart(const Tizen::Base::String& operationId, const Tizen::Base::String* pUriPattern, const Tizen::Base::String* pDataType, const Tizen::Base::String* pCategory, const Tizen::Base::Collection::IMap* pExtraData, IAppControlResponseListener* pListener);
1187
1188         /**
1189          * Stops the event listener from receiving the application control result.
1190          *
1191          * @since       2.0
1192          *
1193          * @param[in]   pListener       The listener to stop receiving the application control result
1194          */
1195         static void StopAppControlResponseListener(IAppControlResponseListener* pListener);
1196
1197         /**
1198          * Gets the name of the application that provides the features represented by this %AppControl instance.
1199          *
1200          * @since                       2.0
1201          *
1202          * @return              The name of the application providing this %AppControl instance
1203          */
1204         Tizen::Base::String GetAppName(void) const;
1205
1206         /**
1207          * Gets the associated application ID.
1208          *
1209          * @since       2.0
1210          *
1211          * @return      The application ID
1212          */
1213         AppId GetAppId(void) const;
1214
1215         /**
1216          * @if OSPDEPREC
1217          * Gets the associated application control provider ID.
1218          *
1219          * @brief       <i> [Deprecated] </i>
1220          * @deprecated  This method is deprecated because application ID replaced the role of provider ID. @n
1221          *                              Instead of using this method, use GetAppId().
1222          * @since                       2.0
1223          *
1224          * @return              The application control provider ID
1225          * @endif
1226          */
1227         Tizen::Base::String GetAppControlProviderId(void) const;
1228
1229         /**
1230          * Gets the associated operation ID.
1231          *
1232          * @since                       2.0
1233          *
1234          * @return              The operation ID
1235          */
1236         Tizen::Base::String GetOperationId(void) const;
1237
1238         /**
1239          * Gets the associated application control categories.
1240          *
1241          * @since       2.0
1242          *
1243          * @return      A pointer to the list of application control categories, @n
1244          *               else @c null if an error occurs
1245          * @exception   E_SUCCESS       The method is successful.
1246          * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
1247          * @exception   E_SYSTEM                        A system error has occurred.
1248          * @remarks     The specific error code can be accessed using the GetLastResult() method.
1249          */
1250         Tizen::Base::Collection::IList* GetCategoryListN(void) const;
1251
1252
1253         /**
1254          * Stops the activated application control. @n
1255          * The %Stop() method works only with the following %AppControls provided by the platform:
1256          * tizen.bluetooth, tizen.calendar, tizen.camera, tizen.certificatemanager, tizen.contacts,
1257          * tizen.email, tizen.filemanager, tizen.gallery, tizen.imageviewer, tizen.mmsmessages, and tizen.smsmessages.
1258          *
1259          * @since               2.0
1260          *
1261          * @return          An error code
1262          * @exception E_SUCCESS                        The method is successful.
1263          * @exception E_SYSTEM                         A system error has occurred.
1264          * @exception E_INVALID_OPERATION        The application control is not permitted to call this method.
1265          * @remarks     This method is asynchronous.
1266          */
1267         result Stop(void);
1268
1269 private:
1270         /**
1271          * This constructor is intentionally declared as private so that only the platform can create an instance.
1272          *
1273          * @since       2.0
1274          */
1275         AppControl(void);
1276
1277         /**
1278          * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
1279          *
1280          * @since       2.0
1281          */
1282         AppControl(const AppControl& rhs);
1283
1284         /**
1285          * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
1286          *
1287          * @since       2.0
1288          */
1289         AppControl& operator =(const AppControl& rhs);
1290
1291
1292 private:
1293         class _AppControlImpl * __pAppControlImpl;
1294
1295         friend class _AppControlImpl;
1296 }; // AppControl
1297
1298 } } // Tizen::App
1299
1300 #endif // _FAPP_APPCONTROL_H_