2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
19 * @file FAppAppControl.h
20 * @brief This is the header file for the %AppControl class.
22 * This header file contains the declarations of the %AppControl class.
25 #ifndef _FAPP_APPCONTROL_H_
26 #define _FAPP_APPCONTROL_H_
28 #include <FBaseObject.h>
29 #include <FBaseString.h>
30 #include <FAppTypes.h>
32 namespace Tizen { namespace Base { namespace Collection {
37 namespace Tizen { namespace App
40 class IAppControlEventListener;
41 class IAppControlResponseListener;
45 * The Contact %AppControl ID. @n
47 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_contact.htm">Contact Application Control</a>.
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".
55 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CONTACT;
59 * The Calendar %AppControl ID. @n
61 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_calendar.htm">Calendar Application Control</a>.
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".
69 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CALENDAR;
73 * The Todo %AppControl ID.
75 * @brief <i> [Deprecated] </i>
76 * @deprecated This application control provider name is deprecated.
80 * @remarks This constant is currently not available.
83 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_TODO;
87 * The Dial %AppControl ID. @n
89 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_call.htm">Call Application Control</a>.
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".
97 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_DIAL;
101 * The Call %AppControl ID. @n
102 * Makes a phone call. @n
104 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_call.htm">Call Application Control</a>.
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".
110 * @privilege http://tizen.org/privilege/systeminfo
112 * @remarks Privilege is required to use this application control.
115 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CALL;
120 * The Message %AppControl ID. @n
122 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_message.htm">Message Application Control</a>.
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".
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.
133 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_MESSAGE;
137 * The Email %AppControl ID. @n
139 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_email.htm">Email Application Control</a>.
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".
147 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_EMAIL;
151 * The Media %AppControl ID. @n
153 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_media.htm">Media Application Control</a>.
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".
161 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_MEDIA;
165 * The Image %AppControl ID. @n
167 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_image.htm">Image Application Control</a>.
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".
175 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_IMAGE;
179 * The Video %AppControl ID. @n
181 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_video.htm">Video Application Control</a>.
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".
189 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_VIDEO;
193 * The Audio %AppControl ID. @n
195 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_audio.htm">Audio Application Control</a>.
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".
203 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_AUDIO;
207 * The Browser %AppControl ID. @n
209 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_browser.htm">Browser Application Control</a>.
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".
215 * @privilege http://tizen.org/privilege/web.service
218 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_BROWSER;
222 * The Camera %AppControl ID. @n
224 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_camera.htm">Camera Application Control</a>.
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".
232 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CAMERA;
236 * The Bluetooth %AppControl ID. @n
238 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_bluetooth.htm">Bluetooth Application Control</a>.
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".
246 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_BT;
250 * The Setting %AppControl ID. @n
252 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_settings.htm">Settings Application Control</a>.
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".
260 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_SETTINGS;
264 * The Contact %AppControl provider ID. @n
266 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_contact.htm">Contact Application Control</a>.
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".
274 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CONTACT;
278 * The Certificate Manager %AppControl provider ID. @n
280 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_certmgr.htm">Certificate Manager Application Control</a>.
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".
288 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CERTIFICATE_MANAGER;
292 * The Calendar %AppControl provider ID. @n
294 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_calendar.htm">Calendar Application Control</a>.
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".
302 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CALENDAR;
306 * The Call %AppControl provider ID. @n
307 * Makes a phone call. @n
309 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_call.htm">Call Application Control</a>.
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".
315 * @privilege http://tizen.org/privilege/systeminfo
317 * @remarks Privilege is required to use this application control.
320 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CALL;
324 * The Message %AppControl provider ID. @n
326 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_message.htm">Message Application Control</a>.
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".
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.
338 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_MESSAGE;
342 * The Email %AppControl provider ID. @n
344 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_email.htm">Email Application Control</a>.
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".
352 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_EMAIL;
356 * The Media %AppControl provider ID. @n
358 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_media.htm">Media Application Control</a>.
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".
366 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_MEDIA;
370 * The Image %AppControl provider ID. @n
372 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_image.htm">Image Application Control</a>.
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".
380 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_IMAGE;
384 * The ImageCrop application control provider ID @n
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.
392 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_IMAGE_EDITOR;
396 * The Video %AppControl provider ID. @n
398 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_video.htm">Video Application Control</a>.
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".
406 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_VIDEO;
410 * The Audio %AppControl provider ID. @n
412 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_audio.htm">Audio Application Control</a>.
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".
420 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_AUDIO;
424 * The Browser %AppControl provider ID. @n
426 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_browser.htm">Browser Application Control</a>.
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".
432 * @privilege http://tizen.org/privilege/web.service
434 * @remarks Privilege is required to use this application control.
437 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_BROWSER;
441 * The Camera %AppControl provider ID. @n
443 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_camera.htm">Camera Application Control</a>.
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".
451 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_CAMERA;
455 * The Bluetooth %AppControl provider ID. @n
457 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_bluetooth.htm">Bluetooth Application Control</a>.
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".
464 * @remarks Bluetooth functionality cannot be tested on the Emulator.
467 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_BLUETOOTH;
471 * The Setting %AppControl provider ID. @n
473 * For more information, see <a href="../org.tizen.native.appprogramming/html/guide/app/appcontrol_settings.htm">Settings Application Control</a>.
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".
481 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_SETTINGS;
486 * Adds an application item.
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".
494 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_ADD;
499 * Picks some application item(s).
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".
507 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_PICK;
512 * Edits an application item.
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".
520 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_EDIT;
525 * Shows the application content.
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".
533 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_VIEW;
538 * Plays the application content.
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".
546 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_PLAY;
550 * Operation Default. @n
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.
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".
561 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_DEFAULT;
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".
573 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_CAPTURE;
579 * Adds an application item.
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".
587 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_ADD;
592 * Makes a call to the specified phone number.
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".
600 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CALL;
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".
612 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CAPTURE;
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".
624 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_COMPOSE;
628 * Operation Configure Settings.
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".
636 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CONFIGURE;
640 * Operation Default. @n
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.
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".
651 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_DEFAULT;
656 * Launches the dial screen for making a call.
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".
664 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_DIAL;
669 * Edits an application item.
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".
677 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_EDIT;
683 * All the application exports the implicit %AppControl with %APPCONTROL_OPERATION_MAIN operation.
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".
691 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_MAIN;
696 * Picks some application item(s).
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".
704 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_PICK;
709 * Plays the application content.
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".
717 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_PLAY;
721 * Operation Record. @n
722 * Records the content.
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".
730 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_RECORD;
734 * Operation Share. @n
735 * Shares the contents.
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".
743 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_SHARE;
748 * Shows the application content.
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".
756 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_VIEW;
761 * Shows image with the crop rectangle.
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".
769 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CROP;
773 * Not specified category.
775 * @brief <i> [Deprecated] </i>
776 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
780 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_NONE;
784 * The audio category.
786 * @brief <i> [Deprecated] </i>
787 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
791 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_AUDIO;
795 * The browser category.
797 * @brief <i> [Deprecated] </i>
798 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
802 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_BROWSER;
806 * The Bluetooth device category.
808 * @brief <i> [Deprecated] </i>
809 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
813 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_BLUETOOTH;
817 * The calendar category.
819 * @brief <i> [Deprecated] </i>
820 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
824 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CALENDAR;
828 * The certificate category.
830 * @brief <i> [Deprecated] </i>
831 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
835 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CERTIFICATE;
839 * The contact category.
841 * @brief <i> [Deprecated] </i>
842 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
846 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CONTACT;
850 * The document category.
852 * @brief <i> [Deprecated] </i>
853 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
857 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_DOCUMENT;
861 * The email category.
863 * @brief <i> [Deprecated] </i>
864 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
868 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_EMAIL;
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.
876 * @brief <i> [Deprecated] </i>
877 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
881 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_MEDIA;
887 * @brief <i> [Deprecated] </i>
888 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
892 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_MMS;
896 * The image category.
898 * @brief <i> [Deprecated] </i>
899 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
903 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_IMAGE;
907 * The security category.
909 * @brief <i> [Deprecated] </i>
910 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
914 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SECURITY;
920 * @brief <i> [Deprecated] </i>
921 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
925 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SMS;
929 * The settings category.
931 * @brief <i> [Deprecated] </i>
932 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
936 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SETTINGS;
940 * The video call category.
942 * @brief <i> [Deprecated] </i>
943 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
947 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VIDEO_CALL;
951 * The voice call category.
953 * @brief <i> [Deprecated] </i>
954 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
958 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VOICE_CALL;
962 * The video category.
964 * @brief <i> [Deprecated] </i>
965 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
969 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VIDEO;
973 * The complete URI handling category corresponding to AppManager::StartAppControl().
975 * @brief <i> [Deprecated] </i>
976 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
980 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_URI;
984 * The %AppControl operation is successful.
986 * @brief <i> [Deprecated] </i>
987 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
991 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_SUCCEEDED;
995 * The %AppControl operation has failed.
997 * @brief <i> [Deprecated] </i>
998 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1002 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_FAILED;
1006 * The %AppControl operation is canceled.
1008 * @brief <i> [Deprecated] </i>
1009 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1013 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_CANCELED;
1017 * The %AppControl is terminated without sending the result.
1019 * @brief <i> [Deprecated] </i>
1020 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1024 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_TERMINATED;
1028 * @brief This class represents the application control behavior.
1031 * @final This class is not intended for extension.
1033 * The %AppControl class represents the application control behavior that provides a standard mechanism for using specific operations exported by other applications.
1035 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/app/app_controls.htm">Application Controls</a>.
1037 * @see Tizen::App::AppManager
1039 * The following example demonstrates how to use the %AppControl class.
1044 * using namespace Tizen::Base::Collection;
1045 * using namespace Tizen::App;
1048 * MyAppClass::AppControlCallSample(void)
1050 * HashMap extraData;
1051 * String telKey = L"tel";
1052 * String telVal = L"1234567890";
1053 * String typeKey = L"type";
1054 * String typeVal = L"voice";
1056 * extraData.Construct();
1057 * extraData.Add(&telKey, &telVal);
1058 * extraData.Add(&typeKey, &typeVal);
1060 * AppControl* pAc = AppManager::FindAppControlN(L"tizen.phone", L"http://tizen.org/appcontrol/operation/call");
1063 * pAc->Start(null, null, &extraData, null);
1070 class _OSP_EXPORT_ AppControl
1071 : public Tizen::Base::Object
1075 * This destructor overrides Tizen::Base::Object::~Object().
1079 virtual ~AppControl(void);
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.
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().
1092 * @privilege http://tizen.org/privilege/application.launch
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()
1117 result Start(const Tizen::Base::Collection::IList* pDataList, IAppControlEventListener* pListener);
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.
1125 * @privilege http://tizen.org/privilege/application.launch
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()
1149 result Start(const Tizen::Base::String* pUriData, const Tizen::Base::String* pDataType, const Tizen::Base::Collection::IMap* pExtraData, IAppControlResponseListener* pListener);
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.
1158 * @privilege http://tizen.org/privilege/application.launch
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
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);
1180 * Stops the event listener from receiving the application control result.
1184 * @param[in] pListener The listener to stop receiving the application control result
1186 static void StopAppControlResponseListener(IAppControlResponseListener* pListener);
1189 * Gets the name of the application that provides the features represented by this %AppControl instance.
1193 * @return The name of the application providing this %AppControl instance
1195 Tizen::Base::String GetAppName(void) const;
1198 * Gets the associated application ID.
1202 * @return The application ID
1204 AppId GetAppId(void) const;
1208 * Gets the associated application control provider ID.
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().
1215 * @return The application control provider ID
1218 Tizen::Base::String GetAppControlProviderId(void) const;
1221 * Gets the associated operation ID.
1225 * @return The operation ID
1227 Tizen::Base::String GetOperationId(void) const;
1230 * Gets the associated application control categories.
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.
1241 Tizen::Base::Collection::IList* GetCategoryListN(void) const;
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.
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.
1266 * This constructor is intentionally declared as private so that only the platform can create an instance.
1273 * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
1277 AppControl(const AppControl& rhs);
1280 * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
1284 AppControl& operator =(const AppControl& rhs);
1288 class _AppControlImpl * __pAppControlImpl;
1290 friend class _AppControlImpl;
1295 #endif // _FAPP_APPCONTROL_H_