add % before the privilege tag not to link to the linkage page
[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 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 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          * App::APPCONTROL_PROVIDER_AUDIO, App::APPCONTROL_PROVIDER_BLUETOOTH, @n
1248          * App::APPCONTROL_PROVIDER_CALENDAR, App::APPCONTROL_PROVIDER_CAMERA, @n
1249          * App::APPCONTROL_PROVIDER_CERTIFICATE_MANAGER, App::APPCONTROL_PROVIDER_CONTACT, @n
1250          * App::APPCONTROL_PROVIDER_EMAIL, App::APPCONTROL_PROVIDER_IMAGE, @n
1251          * App::APPCONTROL_PROVIDER_MEDIA, App::APPCONTROL_PROVIDER_MESSAGE, @n
1252          * and App::APPCONTROL_PROVIDER_VIDEO.
1253          *
1254          * @since               2.0
1255          *
1256          * @return          An error code
1257          * @exception E_SUCCESS                        The method is successful.
1258          * @exception E_SYSTEM                         A system error has occurred.
1259          * @exception E_INVALID_OPERATION        The application control is not permitted to call this method.
1260          * @remarks     This method is asynchronous.
1261          */
1262         result Stop(void);
1263
1264 private:
1265         /**
1266          * This constructor is intentionally declared as private so that only the platform can create an instance.
1267          *
1268          * @since       2.0
1269          */
1270         AppControl(void);
1271
1272         /**
1273          * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
1274          *
1275          * @since       2.0
1276          */
1277         AppControl(const AppControl& rhs);
1278
1279         /**
1280          * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
1281          *
1282          * @since       2.0
1283          */
1284         AppControl& operator =(const AppControl& rhs);
1285
1286
1287 private:
1288         class _AppControlImpl * __pAppControlImpl;
1289
1290         friend class _AppControlImpl;
1291 }; // AppControl
1292
1293 } } // Tizen::App
1294
1295 #endif // _FAPP_APPCONTROL_H_