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