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