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;
484 // The AllShare application control provider ID. @n
487 // @visibility internal
489 // @privilege ALLSHARE
491 // @remarks Privilege is required to use this application control. @n
492 // 'path' is the main key of the all keys. Other keys' value are the extra information for the main key's value. @n
493 // 'path' and 'type' values must be filled mandatorily and the others are optional. @n
494 // More than one content can be added if the 'path' key and value item is added in the input list.
496 // @li Input dataList : @n
497 // <table border=1 cellpadding="1" cellspacing="1">
501 // <th>description</th>
505 // <td>Path, such as /Media/Images/sampleImage.jpg or http://localhost:8080/sampleVideo.mp4 or http://mycompany.com/sampleImage.jpg"</td>
506 // <td>This is the main key. @n Path to the media file to be shared.</td>
510 // <td>image|audio|video</td>
511 // <td>Type of the media file.</td>
515 // <td>Title, such as MyTitle</td>
516 // <td>Title of the media file.</td>
520 // <td>Duration in milliseconds, such as 60000 (60secs)</td>
521 // <td>Duration of the media file.</td>
525 // <td>Bit rate in kilo-bits per second, such as 192</td>
526 // <td>Bit rate of the media file.</td>
530 // <td>Width in pixel, such as 640</td>
531 // <td>Width of the media file</td>
535 // <td>Height in pixel, such as 480</td>
536 // <td>Height of the media file</td>
540 // <td>Size in bytes, such as 512000 (500KB)</td>
541 // <td>Size of the media file.</td>
545 // <td>Mime type, such as audio/mp3</td>
546 // <td>Mime type of the media file.</td>
550 // <td>Artist, such as TizenSinger</td>
551 // <td>Artist of media file.</td>
554 // <td>albumTitle</td>
555 // <td>Album title, such as TizenAlbum</td>
556 // <td>Album title of media file.</td>
561 // @li Example code for AllShare: @n
564 // MyAppClass::AllShareAppControlSample(void)
566 // ArrayList* pDataList = new ArrayList();
568 // pDataList->Construct();
569 // pDataList->Add(*new String(L"path:/mycompany.com/sampleImage.jpg"));
570 // pDataList->Add(*new String(L"type:image"));
571 // pDataList->Add(*new String(L"title:MyImage"));
572 // pDataList->Add(*new String(L"width:640"));
573 // pDataList->Add(*new String(L"height:480"));
574 // pDataList->Add(*new String(L"size:51200"));
575 // pDataList->Add(*new String(L"mimeType:image/jpg"));
576 // pDataList->Add(*new String(L"path:http://mycompany.com/sampleVideo.mp4"));
577 // pDataList->Add(*new String(L"type:video"));
578 // pDataList->Add(*new String(L"title:MyVideo"));
579 // pDataList->Add(*new String(L"duration:600000"));
580 // pDataList->Add(*new String(L"width:320"));
581 // pDataList->Add(*new String(L"height:240"));
582 // pDataList->Add(*new String(L"size:2097152"));
583 // pDataList->Add(*new String(L"mimeType:video/mp4"));
584 // pDataList->Add(*new String(L"path:http://mycompany.com/sampleAudio.mp3"));
585 // pDataList->Add(*new String(L"type:audio"));
586 // pDataList->Add(*new String(L"title:MyAudio"));
587 // pDataList->Add(*new String(L"duration:200000"));
588 // pDataList->Add(*new String(L"size:3565158"));
589 // pDataList->Add(*new String(L"mimeType:audio/mp3"));
590 // pDataList->Add(*new String(L"artist:TizenSinger"));
591 // pDataList->Add(*new String(L"albumTitle:TizenAlbum"));
593 // AppControl* pAc = AppManager::FindAppControlN(APPCONTROL_PROVIDER_ALLSHARE, APPCONTROL_OPERATION_SHARE);
596 // pAc->Start(pDataList, null);
600 // pDataList->RemoveAll(true);
606 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_PROVIDER_ALLSHARE;
611 * Adds an application item.
613 * @brief <i> [Deprecated] </i>
614 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
615 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/add".
619 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_ADD;
624 * Picks some application item(s).
626 * @brief <i> [Deprecated] </i>
627 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
628 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/pick".
632 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_PICK;
637 * Edits an application item.
639 * @brief <i> [Deprecated] </i>
640 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
641 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/edit".
645 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_EDIT;
650 * Shows the application content.
652 * @brief <i> [Deprecated] </i>
653 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
654 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/view".
658 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_VIEW;
663 * Plays the application content.
665 * @brief <i> [Deprecated] </i>
666 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
667 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/view".
671 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_PLAY;
675 * Operation Default. @n
677 * Uses the default operation specific to the application control.
678 * 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.
680 * @brief <i> [Deprecated] </i>
681 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
682 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/main".
686 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_DEFAULT;
692 * @brief <i> [Deprecated] </i>
693 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
694 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/createcontent".
698 _OSP_EXPORT_ extern const Tizen::Base::String OPERATION_CAPTURE;
704 * Adds an application item.
706 * @brief <i> [Deprecated] </i>
707 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
708 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/add".
712 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_ADD;
717 * Makes a call to the specified phone number.
719 * @brief <i> [Deprecated] </i>
720 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
721 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/call".
725 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CALL;
731 * @brief <i> [Deprecated] </i>
732 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
733 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/createcontent".
737 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CAPTURE;
743 * @brief <i> [Deprecated] </i>
744 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
745 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/compose".
749 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_COMPOSE;
753 * Operation Configure Settings.
755 * @brief <i> [Deprecated] </i>
756 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
757 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/configure".
761 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CONFIGURE;
765 * Operation Default. @n
767 * Uses the default operation specific to the application control.
768 * 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.
770 * @brief <i> [Deprecated] </i>
771 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
772 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/main".
776 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_DEFAULT;
781 * Launches the dial screen for making a call.
783 * @brief <i> [Deprecated] </i>
784 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
785 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/dial".
789 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_DIAL;
794 * Edits an application item.
796 * @brief <i> [Deprecated] </i>
797 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
798 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/edit".
802 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_EDIT;
808 * All the application exports the implicit %AppControl with %APPCONTROL_OPERATION_MAIN operation.
810 * @brief <i> [Deprecated] </i>
811 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
812 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/main".
816 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_MAIN;
821 * Picks some application item(s).
823 * @brief <i> [Deprecated] </i>
824 * @deprecated This variable is providyed only for backward compatibility and will be deleted in the near future.
825 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/pick".
829 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_PICK;
834 * Plays the application content.
836 * @brief <i> [Deprecated] </i>
837 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
838 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/view".
842 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_PLAY;
846 * Operation Record. @n
847 * Records the content.
849 * @brief <i> [Deprecated] </i>
850 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
851 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/createcontent".
855 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_RECORD;
859 * Operation Share. @n
860 * Shares the contents.
862 * @brief <i> [Deprecated] </i>
863 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
864 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/share".
868 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_SHARE;
873 * Shows the application content.
875 * @brief <i> [Deprecated] </i>
876 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
877 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/view".
881 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_VIEW;
886 * Shows image with the crop rectangle.
888 * @brief <i> [Deprecated] </i>
889 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
890 * Instead of this variable, use the literal, L"http://tizen.org/appcontrol/operation/crop".
894 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_OPERATION_CROP;
898 * Not specified category.
900 * @brief <i> [Deprecated] </i>
901 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
905 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_NONE;
909 * The audio category.
911 * @brief <i> [Deprecated] </i>
912 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
916 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_AUDIO;
920 * The browser category.
922 * @brief <i> [Deprecated] </i>
923 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
927 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_BROWSER;
931 * The Bluetooth device category.
933 * @brief <i> [Deprecated] </i>
934 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
938 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_BLUETOOTH;
942 * The calendar category.
944 * @brief <i> [Deprecated] </i>
945 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
949 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CALENDAR;
953 * The certificate category.
955 * @brief <i> [Deprecated] </i>
956 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
960 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CERTIFICATE;
964 * The contact category.
966 * @brief <i> [Deprecated] </i>
967 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
971 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_CONTACT;
975 * The document category.
977 * @brief <i> [Deprecated] </i>
978 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
982 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_DOCUMENT;
986 * The email category.
988 * @brief <i> [Deprecated] </i>
989 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
993 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_EMAIL;
997 * The media category. @n
998 * Specifying App::APPCONTROL_CATEGORY_MEDIA is equivalent to specifying all the App::APPCONTROL_CATEGORY_AUDIO,
999 * App::APPCONTROL_CATEGORY_IMAGE, and App::APPCONTROL_CATEGORY_VIDEO categories.
1001 * @brief <i> [Deprecated] </i>
1002 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1006 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_MEDIA;
1012 * @brief <i> [Deprecated] </i>
1013 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1017 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_MMS;
1021 * The image category.
1023 * @brief <i> [Deprecated] </i>
1024 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1028 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_IMAGE;
1032 * The security category.
1034 * @brief <i> [Deprecated] </i>
1035 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1039 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SECURITY;
1045 * @brief <i> [Deprecated] </i>
1046 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1050 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SMS;
1054 * The settings category.
1056 * @brief <i> [Deprecated] </i>
1057 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1061 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_SETTINGS;
1065 * The video call category.
1067 * @brief <i> [Deprecated] </i>
1068 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1072 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VIDEO_CALL;
1076 * The voice call category.
1078 * @brief <i> [Deprecated] </i>
1079 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1083 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VOICE_CALL;
1087 * The video category.
1089 * @brief <i> [Deprecated] </i>
1090 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1094 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_VIDEO;
1098 * The complete URI handling category corresponding to AppManager::StartAppControl().
1100 * @brief <i> [Deprecated] </i>
1101 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1105 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_CATEGORY_URI;
1109 * The %AppControl operation is successful.
1111 * @brief <i> [Deprecated] </i>
1112 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1116 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_SUCCEEDED;
1120 * The %AppControl operation has failed.
1122 * @brief <i> [Deprecated] </i>
1123 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1127 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_FAILED;
1131 * The %AppControl operation is canceled.
1133 * @brief <i> [Deprecated] </i>
1134 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1138 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_CANCELED;
1142 * The %AppControl is terminated without sending the result.
1144 * @brief <i> [Deprecated] </i>
1145 * @deprecated This variable is provided only for backward compatibility and will be deleted in the near future.
1149 _OSP_EXPORT_ extern const Tizen::Base::String APPCONTROL_RESULT_TERMINATED;
1153 * @brief This class represents the application control behavior.
1156 * @final This class is not intended for extension.
1158 * The %AppControl class represents the application control behavior that provides a standard mechanism for using specific operations exported by other applications.
1160 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/app/app_controls.htm">Application Controls</a>.
1162 * @see Tizen::App::AppManager
1164 * The following example demonstrates how to use the %AppControl class.
1169 * using namespace Tizen::Base::Collection;
1170 * using namespace Tizen::App;
1173 * MyAppClass::AppControlCallSample(void)
1175 * HashMap extraData;
1176 * String telKey = L"tel";
1177 * String telVal = L"1234567890";
1178 * String typeKey = L"type";
1179 * String typeVal = L"voice";
1181 * extraData.Construct();
1182 * extraData.Add(&telKey, &telVal);
1183 * extraData.Add(&typeKey, &typeVal);
1185 * AppControl* pAc = AppManager::FindAppControlN(L"tizen.phone", L"http://tizen.org/appcontrol/operation/call");
1188 * pAc->Start(null, null, &extraData, null);
1195 class _OSP_EXPORT_ AppControl
1196 : public Tizen::Base::Object
1200 * This destructor overrides Tizen::Base::Object::~Object().
1204 virtual ~AppControl(void);
1208 * Starts the resolved application control. @n
1209 * Once the application starts, it goes to the background and the target
1210 * application control is displayed.
1212 * @brief <i> [Deprecated] </i>
1213 * @deprecated This method is deprecated because IAppControlEventListener method is deprecated and replaced by
1214 * IAppControlResponseListener due to lack of argument capability. @n
1215 * Instead of using this method, use Start().
1217 * @privilege %http://tizen.org/privilege/application.launch
1219 * @return An error code
1220 * @param[in] pDataList The data list to deliver to the resolved application control @n
1221 * The maximum size of the list is 4096 bytes.
1222 * @param[in] pListener The application control callback listener @n
1223 * Some application controls need to get the callback result by implementing the IAppControlEventListener interface.
1224 * @exception E_SUCCESS The method is successful.
1225 * @exception E_MAX_EXCEEDED The size of @c pDataList has exceeded the maximum limit.
1226 * @exception E_OBJ_NOT_FOUND The target application control resource is not found.
1227 * @exception E_IN_PROGRESS The application control is in progress: @n
1228 * - The application has already started an %AppControl. @n
1229 * - The target application has already started.
1230 * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
1231 * @exception E_SYSTEM The method cannot proceed due to a severe system error.
1232 * @remarks If the IAppControlEventListener instance (@c pListener) needs to get the
1233 * callback result for an application control, it must be valid till
1234 * IAppControlEventListener::OnAppControlCompleted() is invoked.
1235 * For example, a form object listener must not be deleted before the
1236 * system invokes %IAppControlEventListener::OnAppControlCompleted().
1237 * @see AppManager::FindAppControlN()
1238 * @see AppManager::FindAppControlsN()
1241 result Start(const Tizen::Base::Collection::IList* pDataList, IAppControlEventListener* pListener);
1244 * Starts the found application control. @n
1245 * Once the found application starts, the calling application goes to the background and the found
1246 * application is displayed.
1249 * @privilege %http://tizen.org/privilege/application.launch
1251 * @return An error code
1252 * @param[in] pUriData A pointer to the URI data
1253 * @param[in] pDataType A pointer to the MIME type (RFC 2046) data
1254 * @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
1255 * The maximum size is 16 kilo bytes.
1256 * @param[in] pListener The application control callback listener @n
1257 * Some application need to get the result by implementing the IAppControlResponseListener interface.
1258 * @exception E_SUCCESS The method is successful.
1259 * @exception E_MAX_EXCEEDED The size of @c pExtraData has exceeded the maximum limit.
1260 * @exception E_OBJ_NOT_FOUND The target application control is not found.
1261 * @exception E_IN_PROGRESS The application control is in progress: @n
1262 * - The application has already started an %AppControl.
1263 * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
1264 * @exception E_SYSTEM The method cannot proceed due to a severe system error.
1265 * @remarks If the calling application needs to get some result for application control,
1266 * it must be valid till IAppControlResponseListener::OnAppControlCompleteResponseReceived() is invoked.
1267 * For example, a form object listener must not be deleted before the
1268 * system invokes %IAppControlResponseListener::OnAppControlCompleteResponseReceived().
1269 * @see AppManager::FindAppControlN()
1270 * @see AppManager::FindAppControlsN()
1272 result Start(const Tizen::Base::String* pUriData, const Tizen::Base::String* pDataType, const Tizen::Base::Collection::IMap* pExtraData, IAppControlResponseListener* pListener);
1275 * Finds the matching application control with given operation ID, URI pattern, data type, and category and
1276 * starts the found one. @n
1277 * 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.
1278 * When the found application control is started, the URI pattern, MIME type, and extra data is delivered using IAppControlProviderEventListener.
1281 * @privilege %http://tizen.org/privilege/application.launch
1283 * @return An error code
1284 * @param[in] operationId The operation ID
1285 * @param[in] pUriPattern A URI pattern which is used for application control resolution and is delivered as the argument
1286 * @param[in] pDataType The MIME type (RFC 2046) or file extension @n
1287 * The '.' prefix must be used when specifying the file extension.
1288 * @param[in] pCategory The application control category
1289 * @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
1290 * The maximum size is 16 kilo bytes.
1291 * @param[in] pListener A listener that gets notified
1292 * @exception E_SUCCESS The method is successful.
1293 * @exception E_MAX_EXCEEDED The size of @c pDataList has exceeded the maximum limit.
1294 * @exception E_OBJ_NOT_FOUND The application control is not found.
1295 * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
1296 * @exception E_SYSTEM The method cannot proceed due to a severe system error.
1297 * @see IAppControlResponseListener
1299 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);
1302 * Stops the event listener from receiving the application control result.
1306 * @param[in] pListener The listener to stop receiving the application control result
1308 static void StopAppControlResponseListener(IAppControlResponseListener* pListener);
1311 * Gets the name of the application that provides the features represented by this %AppControl instance.
1315 * @return The name of the application providing this %AppControl instance
1317 Tizen::Base::String GetAppName(void) const;
1320 * Gets the associated application ID.
1324 * @return The application ID
1326 AppId GetAppId(void) const;
1330 * Gets the associated application control provider ID.
1332 * @brief <i> [Deprecated] </i>
1333 * @deprecated This method is deprecated because application ID replaced the role of provider ID. @n
1334 * Instead of using this method, use GetAppId().
1337 * @return The application control provider ID
1340 Tizen::Base::String GetAppControlProviderId(void) const;
1343 * Gets the associated operation ID.
1347 * @return The operation ID
1349 Tizen::Base::String GetOperationId(void) const;
1352 * Gets the associated application control categories.
1356 * @return A pointer to the list of application control categories, @n
1357 * else @c null if an error occurs
1358 * @exception E_SUCCESS The method is successful.
1359 * @exception E_OUT_OF_MEMORY The memory is insufficient.
1360 * @exception E_SYSTEM A system error has occurred.
1361 * @remarks The specific error code can be accessed using the GetLastResult() method.
1363 Tizen::Base::Collection::IList* GetCategoryListN(void) const;
1367 * Stops the activated application control. @n
1368 * The %Stop() method works only with the following %AppControls provided by the platform:
1369 * App::APPCONTROL_PROVIDER_AUDIO, App::APPCONTROL_PROVIDER_BLUETOOTH, @n
1370 * App::APPCONTROL_PROVIDER_CALENDAR, App::APPCONTROL_PROVIDER_CAMERA, @n
1371 * App::APPCONTROL_PROVIDER_CERTIFICATE_MANAGER, App::APPCONTROL_PROVIDER_CONTACT, @n
1372 * App::APPCONTROL_PROVIDER_EMAIL, App::APPCONTROL_PROVIDER_IMAGE, @n
1373 * App::APPCONTROL_PROVIDER_MEDIA, App::APPCONTROL_PROVIDER_MESSAGE, @n
1374 * and App::APPCONTROL_PROVIDER_VIDEO.
1378 * @return An error code
1379 * @exception E_SUCCESS The method is successful.
1380 * @exception E_SYSTEM A system error has occurred.
1381 * @exception E_INVALID_OPERATION The application control is not permitted to call this method.
1382 * @remarks This method is asynchronous.
1388 * This constructor is intentionally declared as private so that only the platform can create an instance.
1395 * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
1399 AppControl(const AppControl& rhs);
1402 * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
1406 AppControl& operator =(const AppControl& rhs);
1410 class _AppControlImpl * __pAppControlImpl;
1412 friend class _AppControlImpl;
1417 #endif // _FAPP_APPCONTROL_H_