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