Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License.
Application Migration Guide - bada C++ Application with bada 2.0 to
Tizen Native Application
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 2| Page
1. Converting a bada Application to Tizen Native Application .......................... 5
1.1. System Migration ...................................................................................................................... 7
1.1.1. Case Sensitivity ........................................................................................................ 7
1.1.2. enum Type Size ........................................................................................................ 7
1.1.3. wchar_t Type Size ................................................................................................. 7
1.1.4. Member Variable Initialization .................................................................................. 7
1.1.5. malloc() Allocation ................................................................................................ 7
1.1.6. Non-local and Non-POD Objects ............................................................................. 8
1.1.7. Strong Two-phase Construction Mechanism Check ................................................ 8
1.1.8. Pure Virtual Method Implementation ........................................................................ 8
1.1.9. LLVM Compiler ......................................................................................................... 8
1.1.10. Additional Exception Handling .......................................................................... 8
1.2. File Management Migration ...................................................................................................... 8
1.3. UI Migration ............................................................................................................................ 10
1.3.1. Supporting the HD Resolution ................................................................................ 10
1.3.2. Handling Hardware Menu and Back Keys ............................................................. 13
1.3.3. Drawing UI Controls ............................................................................................... 16
1.3.4. Handling UI Control Changes ................................................................................. 18
1.3.5. Handling Font Changes .......................................................................................... 21
1.3.6. Theme .................................................................................................................... 22
1.3.7. Application Icons .................................................................................................... 22
1.4. Feature Migration .................................................................................................................... 23
1.4.1. Server APIs ............................................................................................................ 23
1.4.2. App ......................................................................................................................... 23
1.4.3. Ad Controls ............................................................................................................. 26
1.4.4. Base – Collections .................................................................................................. 26
1.4.5. Commerce .............................................................................................................. 27
1.4.6. Content - Database Synchronization ..................................................................... 27
1.4.7. Graphics ................................................................................................................. 27
1.4.8. Io ............................................................................................................................. 28
1.4.9. Locations ................................................................................................................ 29
1.4.10. Media .............................................................................................................. 29
1.4.11. Messaging ...................................................................................................... 30
Table of Contents
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 3| Page
1.4.12. Network ........................................................................................................... 30
1.4.13. Security ........................................................................................................... 30
1.4.14. Social .............................................................................................................. 30
1.4.15. UI .................................................................................................................... 32
1.4.16. Uix ................................................................................................................... 33
2. API and Privilege Checker .............................................................................. 34
2.1. Using the API and Privilege Checker ..................................................................................... 34
2.2. Solving Privilege Issues .......................................................................................................... 35
2.3. Solving Compatibility Issues ................................................................................................... 36
2.4. Solving Deprecation Issues .................................................................................................... 37
Appendix A. Automatic Changes by the Converting Tool .............................. 38
A.1. Icon Size ................................................................................................................................. 38
A.2. Application Framework Code Changes .................................................................................. 38
A.3. Manifest File Change .............................................................................................................. 39
A.4. Resource Directory Changes ................................................................................................. 39
A.5. Header File Name Changes ................................................................................................... 39
Appendix B. Changing Non-local and Non-POD Objects to Alternative APIs 41
Appendix C. Removed APIs............................................................................... 46
Appendix D. const Removed from Listener and Provider Arguments ......... 58
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 4| Page
Overview
This document is a guide on how to efficiently migrate your bada C++ applications to Tizen native applications. To develop a Tizen native application, you must use the Tizen SDK that supports Tizen native APIs.
Note:
The OSP-compatible Tizen application is created by converting a bada application using the migration tool in Tizen with the OSP-compatible mode option. The conversion with the OSP-compatible mode option requires less effort than a conversion to a Tizen native application without the OSP-compatible mode option. Though the converted application can run in a Tizen device, some newly-supported Tizen features cannot be used.
The legacy bada API version 2.0 is called ‘bada 2.0’.
The bada C++ applications can be migrated to Tizen native applications as follows:
bada C++ application with bada 1.x to OSP-compatible Tizen application
bada C++ application with bada 2.0 to OSP-compatible Tizen application
bada C++ application with bada 2.0 to Tizen native application
This guide describes how to migrate the bada application with bada 2.0 to the Tizen native application. For the other
migration options, see the guides under the ‘tizen-sdk/documentation’ folder.
To run your existing bada C++ application on a Tizen device, you must convert your application project to a Tizen native project with the migration tool and rebuild it.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 5| Page
1. Converting a bada Application to Tizen Native Application
You can use the new features provided in Tizen by converting your existing bada application to the Tizen native application without the compatibility mode option. The conversion inserts some code that applies to the changed application framework, and changes the application information automatically for the Tizen native application.
To convert a bada C++ application project:
1. In the IDE, select File > Import > Tizen > Import bada Project and click Next.
2. Select your existing bada C++ application project and click Finish. Do not the select the Enable the compatibility mode check box. A converted Tizen native application project is created.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 6| Page
The following manual migration tasks must be performed:
System migration
File management migration
UI migration
Feature migration
3. To build your converted application project, do one of the following:
In the Project Explorer, select your Tizen application project and press the F10 key.
In the Project Explorer, select your Tizen application project and go to Project > Build Project in the IDE menu.
The build fails if there is any removed or changed API in your application. Update the removed or changed code in your application by referring to the following information:
Native API Reference in IDE Help Contents
Appendix C. Removed APIs
Appendix D. const Removed from Listener and Provider Arguments
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 7| Page
4. Right click your application project and select Properties and select C/C++ Build > Tizen Settings > API Privilege options. Check API and Privilege Checker results by building the application. If there are errors in the results, make sure that the APIs and application privileges have been used properly in the application.
5. Test and repackage the application. Note: If you are using the Tizen Emulator for the first time, you must create a new emulator configuration using the Emulator Manager.
6. Register the upgraded application on the Tizen Store when the Tizen device is released.
Perform the following system migration tasks:
1.1.1. Case Sensitivity
The bada platform is case-insensitive, while the Tizen platform is not. If you have any case-insensitive code in your
bada C++ application, especially for the file or directory names, make it case-sensitive. For example, “Fui.h” and
“Fbase.h” cannot be built in the Tizen SDK.
1.1.2. enum Type Size
In bada 2.0, an enum type object is the smallest data type that can hold the values of all the enumerators. However,
in Tizen, the enum type size is at least as wide as that of the int type.
1.1.3. wchar_t Type Size
In bada 2.0, the wchar_t type size is 2 bytes. In Tizen, this has changed to 4 bytes as per the Linux ABI (Application
Binary Interface) specification. If your bada C++ application has hard-coded sources as 2 instead of
sizeof(wchar_t), change them to sizeof(wchar_t).
1.1.4. Member Variable Initialization
Newly allocated memory is not initialized automatically in Tizen, unlike in bada 2.0, which initialized all instances to zero. This means that all member variables of a new class instance have garbage values, and you must initialize them in the class constructor to prevent unexpected error cases.
1.1.5. malloc() Allocation
In bada 2.0, the malloc() method with the size parameter set to zero returns a null address. In Tizen, this method
returns a valid address pointer allocated with zero. If you added the exception check code by null value after calling
malloc()with the size parameter as zero, this change should be considered.
1.1. System Migration
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 8| Page
1.1.6. Non-local and Non-POD Objects
Non-local and non-POD objects are known to be harmful in application development since they tend to cause mysterious bugs. This is due to their partially specified order of construction and destruction as per the C++ standards.
Many non-local and non-POD objects were have been provided since bada 1.0 to ease programming, but for the stability, their usage is not allowed in Tizen to avoid dependency management complexities.
Non-local and non-POD objects are provided in Tizen only for source level compatibility with OSP-compatible applications, and will be removed in the near future. To avoid problems, convert your applications to Tizen native applications without the compatibility mode,and use PODs or alternative APIs corresponding to the respective non-local and non-POD objects as defined in Appendix B. Changing Non-local and Non-POD Objects to Alternative APIs.
1.1.7. Strong Two-phase Construction Mechanism Check
Two-phase construction classes must be constructed before uses by calling one of Construct() method(s) once
and only once right after calling one of constructor(s). This idiom had been violated frequently which caused bugs. In Tizen, your application is aborted at an early stage if two-phase construction classes are wrongly constructed. This
behavior is different from bada 2.0, in which related APIs return E_INVALID_STATE.
1.1.8. Pure Virtual Method Implementation
In bada, when the application does not implement the pure virtual method of the parent class, the link error is not reported properly due to its supported link option. In Tizen, the compiler produces the link error for the pure virtual method implementation. If you see the error, make sure that you implement the pure virtual method.
1.1.9. LLVM Compiler
The default compiler has been changed from GCC to LLVM/Clang. LLVM/Clang is stricter than GCC, and can disallow incorrect code that GCC has allowed. For details, see LLVM Language Compatibility.
1.1.10. Additional Exception Handling
In Tizen, some APIs return additional exceptions, such as E_UNSUPPORTED_OPERATION. If you meet unexpected operation in your application, check the API Reference of the API and add the handling code for the additional exception.
File Management
The file management is changed in Tizen. All applications must apply the changes directory paths.
In bada 2.0, applications should access its own files using specific path prefix such as /Home or /Res and access
media files using path prefix of /Media or /Storagecard/Media.
1.2. File Management Migration
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 9| Page
In Tizen, an application can access its own files using path getters such as GetAppDataPath() or
GetAppResourcePath() methods in the Tizen::App::App class and access media files using the
GetMediaPath() or GetExternalStoragePath() methods in the Tizen::System::Environment class.
In Tizen, the directory paths are changed as defined in the following table. The old directory path that is used in the bada application must be updated.
Table 1: Changed directory paths in Tizen
bada 2.0 directory path Tizen directory path /Home Use the data directory path that can be obtained with the following code:
String dataDir = Tizen::App::App::GetInstance()-
>GetAppDataPath();
/Res Use the resource directory path that can be obtained with the following code: String resDir = Tizen::App::App::GetInstance()-
>GetAppResourcePath();
/Home/Share Use the shared directory path that can be obtained with the following code: Tizen::App::App::GetInstance()->GetAppSharedPath();
/Home/Share2 Removed. /Share Change the code as follows:
Tizen::App::AppManager::GetAppSharedPath(L”{AppId}”);
/Share2 Removed. /Share/AppControl Removed.
Use the following the shared directory path or the /tmp directory: Tizen::App::AppManager::GetAppSharedPath(L”{AppId}”);
/HomeExt
Removed. Use the following method: Tizen::System::Environment::GetExternalStoragePath();
/HomeExt/Share
/HomeExt/Share2
/ShareExt
/Share2Ext
/Clipboard Removed. /Media Use the following method:
Tizen::System::Environment::GetMediaPath();
In Tizen, the permission of the media directory is read/write, unlike in bada, where it is read-only.
/Storagecard/Media Use the following method: Tizen::System::Environment::GetExternalStoragePath();
In Tizen, the permission of the external media directory is read/write, unlike in bada, where it is read-only.
If you use a Tizen directory path, use one of the following methods instead of the static full path. These methods reduce the migration related tasks in the future.
Tizen::App::App::GetAppRootPath()
Tizen::App::App::GetAppDataPath()
Tizen::App::App::GetAppResourcePath()
Tizen::App::App::GetAppSharedPath()
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 10| Page
Tizen::App::AppManager::GetAppSharedPath()
Tizen::System::Environment::GetMediaPath()
Tizen::System::Environment::GetExternalStoragePath()
Tizen supports relative paths.
Open source or 3rd party library APIs having path string as input argument
In general, the type of file or directory path string is const char* which requires modifications.
Refer to the following example:
bada int fd = open(“/Home/sample.txt”, O_CREAT | O_RDWR);
Tizen
String filePath = Tizen::App::App::GetInstance()->GetAppDataPath() +
L"sample.txt";
ByteBuffer* pBuf = Tizen::Base::Utility::StringUtil::StringToUtf8N(filePath);
inf fd = open(static_cast< const char* >(pBuf->GetPointer()), O_CREAT |
O_RDWR );
delete pBuf;
To ensure that the application UI is displayed properly in Tizen, consider the following tasks:
1.3.1. Supporting the HD Resolution
Tizen currently supports the WVGA and HD resolutions. WVGA, HVGA, and WQVGA resolution bada applications need to consider the new screen size during application migration. The HD resolution has a different aspect ratio as compared to bada-supported resolutions. Also, even if the screen size is roughly similar, the pixels in an HD resolution screen are packed much more densely than in other resolutions. Take these factors into account when designing HD-optimized applications.
1.3. UI Migration
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 11| Page
Figure 1: Various aspect ratios of different resolutions
You must consider the denser screen and different aspect when you migrate your application from bada. If these issues are ignored, some parts of the screen may be left blank or may be hidden due to the ratio difference, and bitmap resources may appear distorted due to scaling. The following sections provide guidelines to resolve these issues.
Logical Coordinates
Tizen supports a width-oriented logical coordinate system to guarantee application compatibility regardless of the resolution difference. Hence, you can create an application that is compatible with WQVGA, WVGA, or HVGA screens using a common logical coordinate system, which has a width of 480 (as per the Tizen definition).
While you can continue to use this 480 value, it is better to specify a more precise coordinate system because the width of the HD screen, which is 720 physical pixels, is greater than the logical coordinate. Tizen supports 2 base resolutions of 480 and 720. Regardless of the actual screen resolution, the width of a screen is considered to be logically 480 or 720. When the width is thus defined, the height differs depending on the screen aspect ratio. Due to the differing height, avoid specifying absolute coordinates, and instead use the logical coordinates with the following methods:
GetBounds() for the UI controls
GetClientAreaBounds() for Tizen::Ui::Controls::Form or Tizen::Ui::Controls::Popup
classes
The following figure illustrates logical coordinates. For a WVGA resolution, when the width in the logical coordinates is defined as 720, even though a WVGA screen is physically 480x800 pixels, it is represented as 720x1200 logical pixels.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 12| Page
Figure 2: Different logical coordinates of the WVGA and HD screens
WVGA Application Migration
To migrate a WVGA application, use the following guidelines to change your application to be optimal for HD.
Note: You can keep the base resolution as the WVGA default of 480, but changing it to 720 allows for more precise layouting.
1. Add new image files to the screen-density-xhigh folder.
You can load images classified per density using the AppResource::GetBitmapN() method.
Tip: To add image files with Windows Explorer: 1. Run the Windows Explorer. 2. Move to the application project folder.
3. Create the screen-density-xhigh folder under the res folder, if it does not exist.
4. Add image files for the extra high density screen to the res/screen-density-xhigh folder.
2. Multiply all coordinates in the source codes by 1.5 (expansion to scale from 480 to 720).
3. In the Application Project > Properties, set the base resolution property of the Form resources to 720.
4. Change the base resolution property of each XML Form from the UI Builder to 720.
UI Control-related Problems
Since the HD screen in logical coordinates is greater than the WVGA screen height, you must arrange UI controls independent of the screen resolution. Use the layout manager to arrange UI controls optimally.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 13| Page
If the parent container size or the device orientation is changed, a layout places the UI controls in ideal positions according to the rules you can specify in the code.
Depending on the desired screen layout, you can use the following layouts:
Relative layout
Vertical box layout
Horizontal box layout
Grid layout
A layout can be nested inside another layout. With the layout feature, you can make the UI controls fully occupy the
client area without using the GetClientAreaBounds()method of the Tizen::Ui::Controls::Form or Popup
class. If you want to match the width of the child control with that of the Form, which is the parent of the child control,
you can set the width fit policy (or height fit policy) of the child control as FIT_POLICY_PARENT. The UI framework
automatically adjusts the child control’s width or height to fit the client area size.
Many applications based on the WVGA resolution have the bottom area empty when they are displayed on a HD
screen. This problems can be solved by arranging the UI controls by using the GetClientAreaBounds() method
of the Tizen::Ui::Controls::Form or Tizen::Ui::Controls::Popup class and specifying the dimensions
of the child controls to fully take up the area from the returned bounds.
Figure 3: Different client area bounds by screen size
If an Tizen::Ui::Controls::ListView instance is placed at the center of the screen and the ListView size
can be changed, the height must be adjusted to be equal to the actual height of the client area.
1.3.2. Handling Hardware Menu and Back Keys
In Tizen 2.2, the hardware Menu and Back keys are a mandatory part of Tizen. Some UX revisions and application changes are required to support this addition.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 14| Page
In Tizen 2.1, the footer provided a soft back button and the IFormBackEventListener for handling the button.
With the support for hardware Back keys in Tizen 2.2, the support for the back button in the footer is removed.
However, the Form’s IFormBackEventListener is still triggered when the hardware Back key is pressed, so you
can use the same listener without any code modification.
Similarly, a new event listener, IFormMenuEventListener, has been added for handling the hardware Menu key.
You can handle both hardware keys using the Form’s listeners, or you can handle them using the key event listeners.
Along with the hardware Menu key support, the recommended UX for showing the menu has changed from the
ContextMenu to the behavior provided by the OptionMenu class. The application no longer needs to handle the
positioning of the menu, as the menu is now fixed to the bottom of the screen.
To properly support the Menu key, perform the following changes:
Modify event handling
Use the IFormMenuEventListener interface (new for Tizen 2.2) and the IFormBackEventListener
interface to handle key presses.
class HWKeyForm
: public Tizen::Ui::Controls::IFormBackEventListener
, public Tizen::Ui::Controls::IFormMenuEventListener
{
public:
// IFormBackEventListener
virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
// IFormMenuEventListener
virtual void OnFormMenuRequested(Tizen::Ui::Controls::Form& source);
};
Modify the footer UI handling
Do not use the Footer::SetBackButton() method to enable back buttons in the footer.
result HWKeyForm::OnInitializing(void)
{
Footer* pFooter = GetFooter();
pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
pFooter->SetBackButton(); // Not needed anymore
__pMenu = new (std::nothrow) OptionMenu();
__pMenu->Construct();
__pMenu->AddItem(L"item 0", ID_CONTEXT_ITEM+0);
__pMenu->AddActionEventListener(*this);
__pMenu->SetShowState(false);
SetFormBackEventListener(this);
SetFormMenuEventListener(this);
return r;
}
Change the menu control
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 15| Page
The ContextMenu class has some style differences with the new menu in Tizen 2.2, so change the
ContextMenu object to an OptionMenu (new in Tizen 2.2) object. From the API point of view, the only difference
between the old ContextMenu and the new OptionMenu is that the ContextMenu requires anchor position to
be specified by the application, while the OptionMenu handles positioning automatically.
In Tizen 2.1:
__pMenu = new (std::nothrow) ContextMenu();
__pMenu->Construct(anchor point, style);
__pMenu->AddItem(L"item 0", ID_CONTEXT_ITEM+0);
__pMenu->AddActionEventListener(*this);
__pMenu->SetShowState(false);
In Tizen 2.2:
__pMenu = new (std::nothrow) OptionMenu();
__pMenu->Construct();
__pMenu->AddItem(L"item 0", ID_CONTEXT_ITEM+0);
__pMenu->AddActionEventListener(*this);
__pMenu->SetShowState(false);
Footer with Additional Buttons
If the footer of your Tizen 2.1 application has other buttons in addition to the Menu and Back buttons, the other buttons remain in the footer after the migration, so there is no change to the client area. In this case, no additional changes are required.
Figure 4: Migration when the footer has additional buttons
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 16| Page
Footer with only Menu and Back Buttons
If the footer of your Tizen 2.1 application is only used for the Menu and Back buttons, remove the footer as it no longer provides any functionality. The application can use the freed area as client area. Handling the hardware Menu and Back keys does not require a footer.
Figure 5: Migration when the footer only has Menu and Back buttons
Applications without a Form
In the case of applications without a Form, such as full-screen GL game applications, handle the Menu and Back
keys can by adding the IKeyEventListener or the IPropagatedKeyEventListener to the Frame. This is
possible because the Menu and Back keys are treated just like normal keys, KEY_MENU and KEY_BACK, respectively.
1.3.3. Drawing UI Controls
One of the major changes in Tizen is in the UI drawing mechanism. Unlike the bada UI, which supports only synchronous control drawing and screen update, the Tizen UI supports both synchronous and asynchronous control drawing. More importantly, asynchronous drawing is now the basic mechanism of the UI framework.
The Tizen::Ui::Control::Invalidate(bool recursive) method which causes control drawing and screen
update in an asynchronous way is newly introduced in Tizen. The OnDraw() callback method for the invalidated
control is called only when the UI framework considers it to be the necessary time for a screen update and not every
time the Invalidate() method is called. In addition, slight behavior changes have been introduced in the
Tizen::Ui::Control::Draw() and Tizen::Ui::Control::Show() methods: the Draw() method
immediately triggers control drawing, and makes sure that the screen is asynchronously updated, while the Show()
method triggers control drawing and screen update immediately.
Triggering Drawing
Using asynchronous drawing provides higher optimization scope to the UI framework and reduces unnecessary
screen updates, which are very CPU-expensive operations. Use the Invalidate() method instead of the Draw()
or Show() method to update the UI controls. In most cases, it is enough to simply replace the Draw() and Show()
methods in Tizen applications with the Invalidate() method. You are not required to call the Show() method after
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 17| Page
calling the Invalidate() method, because the UI framework takes responsibility for the screen update of
invalidated controls.
The OnDraw() event handler is not called immediately when the Invalidate() method is called (unlike with the
Draw() and Show() methods). If you have placed application logic unrelated to control drawing in the OnDraw()
event handler, consider moving the application logic out of the event handler to a proper method As you change from
Draw()/Show() to Invalidate() style, OnDraw() is not called as often as it is called in bada.
Note that invoking the Invalidate() method more than once in an event handler updates the screen only once.
This is because the OnDraw()event handler is called a total of one time for an invalidated control, prior to the screen
update. For example, if an application tries changing the background color of the Form instance to red, green, and
blue sequentially in the OnActionPerformed() event handler, as shown in the box below. The result is that the
background is only painted blue, because the OnDraw() event handler is called once and the background color ends
up being blue, which is the last defined value for the background color.
You can avoid the issue with the Show() method, as described in the following section.
Using Draw()
The Osp::Ui::Control::Draw() method in bada changes the z-order of the control by raising it to the topmost
among siblings, whereas the Tizen::Ui::Control::Draw() method in Tizen does not change the z-order of the
control. Do not overlap controls.
Using Show()
Although the basic UI drawing mechanism is the asynchronous control drawing and screen update, the
Tizen::Ui::Show() method can be called to trigger UI drawing immediately. Since the Show() method invokes
the OnDraw() event handler first and then updates the screen, there is no need to call the Draw() method explicitly.
Use with care. Since the show() method is used to update the screen, which is a very expensive operation, it must
be used with discretion. If you call it several times for one event, it can degrade the application performance.
The Show() method is also required when the application has its own loop and the screen needs to be updated in
that loop (like in the Form background color example in the previous section). Since the UI framework cannot decide
when to invoke the screen update, the application must do the screen update without UI framework intervention by
using the Show() method.
void MyForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
{
// Other actions
SetBackgroundColor(Color(255, 0, 0, 255));
Invalidate(false);
SetBackgroundColor(Color(0, 255, 0, 255));
Invalidate(false);
SetBackgroundColor(Color(0, 0, 255, 255));
Invalidate(false);
}
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 18| Page
1.3.4. Handling UI Control Changes
In Tizen, the look and feel of various UI controls has changed. The following figure highlights some of the changes (note that the UI is not yet final, so this information is subject to change in future revisions).
Figure 6: UI changes from bada to Tizen
[bada control look] [Tizen control look]
[bada header and footer] [Tizen header and footer]
The following sections describe the most important changes in Tizen in detail.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 19| Page
Header and Footer Style
The height of the header has been reduced from 111 to 96 when in portrait mode, and the client size has also changed accordingly. Therefore, applications should check if all layouts of controls work well in the new client area size.
In addition to the above changes, new header and footer styles with taller height have been added in Tizen 2.2
(HEADER_STYLE_TAB_LARGE and FOOTER_STYLE_TAB_LARGE).
Figure 7: The height of headers in Tizen 2.1
Figure 8: The height of headers in Tizen 2.2
You can also see that there have been some GUI tweaks in, for example, the color and the positioning of the tab items inside the header. These changes do not directly affect the API, so minimal changes are required. However, since the look and feel of your application can change, make sure that your application works well with the renewed GUI of Tizen 2.2.
Popup
The Popup control client area is smaller in Tizen than in bada. To accommodate this difference, a slight application
layout change may be required. The most generic way to code for these changes is to create a ScrollPanel that
fits the available client area, and add controls to the ScrollPanel.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 20| Page
Annex Location
The location of some annex style (in the CheckButton or ListView controls) is moved from the right side of the
control to the left. Check all UI controls related to the annex and make sure that the icon and text in each UI control line up consistently.
Figure 9: Annex location change
[bada check style]
[Tizen check style]
ContextMenu
The CONTEXT_MENU_STYLE_ICON is deprecated. Instead, use the CONTEXT_MENU_STYLE_GRID style. This style
supports icons and text on multiple lines.
Figure 10: Multi-line context menu
To set and get the anchor position, use the Tizen::Ui::Controls::ContextMenu::SetAnchorPosition()
and GetAnchorPostion() methods instead of the GetPosition() and SetPosition() methods of the
ContextMenu class.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 21| Page
EditTime and EditDate
The EditTime and EditDate controls have a modified UI, and a new set-up for changing the current values.
Figure 11: New EditTime and EditDate UI
[bada full screen style] [Tizen pop-up style]
1.3.5. Handling Font Changes
The font has changed in Tizen. The new font called TizenSans is slightly larger and wider than the earlier font. The
font in the SDK and actual target device are not guaranteed to be the same and so you must not depend on the precise look or size of the fonts shown in the Emulator.
In bada, the font size cannot be larger than the setting height because all the glyph data are inside the em-box which is the theoretical box or square around a font character of a given 'size', as designed by the font designer. In Tizen, this restriction is removed. To avoid the situation where the top or bottom areas of the text are cut off due to this change, leave enough space at the top and bottom when you draw text.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 22| Page
Figure 12: Font changes
[bada font] [Tizen font]
1.3.6. Theme
In Tizen, there is no support for a system-wide, user configurable theme. For each application, you can select black or white theme, which cannot be changed by the user. In the near future, an app-specific custom theme will also be made available. Since each application chooses the theme to use, there is no longer the need to rely on
SYSTEM_COLOR variables to check for color. These non-POD objects are no longer allowed in Tizen. For more
information on the full list of deprecated system color variables, see Appendix B. Changing Non-local and Non-POD Objects to Alternative APIs.
Most bada applications rely on a black themed UI control set. By selecting the ‘Black’ theme in the manifest.xml,
the applications can continue to specify this theme in order to minimize color-related cosmetic issues.
1.3.7. Application Icons
Applications can include various icons using the manifest.xml editor in the IDE. The types of icons and sizes have changed from bada, and by default, applications migrated to Tizen include the default icons, which can be easily changed from the IDE.
Figure 13: Tizen application icons
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 23| Page
Some of your application features may require migration. Remove application features which have been removed in Tizen If the removed feature is provided in another namespace or class, you can change the feature to use the changed namespace or class.
The following sections describe the required feature migration, and provide bug fix information for different operations that can affect your application.
1.4.1. Server APIs
The APIs that use the bada Server are not operated in Tizen, even though no build errors are created. These APIs must be removed in Tizen applications.
1.4.2. App
Handling Platform Application Control Changes
In Tizen, the concept of the provider ID is removed and replaced by the application ID for application control resolution. To specify the platform-provided application control, aliased application ID is supported and can be used instead of the provider ID. The platform application controls must be used as literals as the following table.
Table 2: Changed platform application controls
OSP-compatible application (variable) Tizen native application (literal)
Operation
ID
APPCONTROL_ADD L”http://tizen.org/appcontrol/operation/add”
APPCONTROL_CAPTURE L ”
http://tizen.org/appcontrol/operation/createcontent”
APPCONTROL_DEFAULT L”http://tizen.org/appcontrol/operation/main”
APPCONTROL_EDIT L”http://tizen.org/appcontrol/operation/edit”
APPCONTROL_PICK L”http://tizen.org/appcontrol/operation/pick”
APPCONTROL_PLAY L”http://tizen.org/appcontrol/operation/view”
APPCONTROL_VIEW L”http://tizen.org/appcontrol/operation/view”
APPCONTROL_OPERATION_ADD L”http://tizen.org/appcontrol/operation/add”
APPCONTROL_OPERATION_CALL L”http://tizen.org/appcontrol/operation/call”
APPCONTROL_OPERATION_CAPTURE L ”
http://tizen.org/appcontrol/operation/createcontent”
APPCONTROL_OPERATION_COMPOSE L”http://tizen.org/appcontrol/operation/compose”
APPCONTROL_OPERATION_CONFIGURE L”http://tizen.org/appcontrol/operation/configure”
APPCONTROL_OPERATION_CROP L”http://tizen.org/appcontrol/operation/crop”
APPCONTROL_OPERATION_DEFAULT L”http://tizen.org/appcontrol/operation/main”
APPCONTROL_OPERATION_DIAL L”http://tizen.org/appcontrol/operation/dial”
APPCONTROL_OPERATION_EDIT L”http://tizen.org/appcontrol/operation/edit”
APPCONTROL_OPERATION_MAIN L”http://tizen.org/appcontrol/operation/main”
APPCONTROL_OPERATION_PICK L”http://tizen.org/appcontrol/operation/pick”
APPCONTROL_OPERATION_PLAY L”http://tizen.org/appcontrol/operation/view”
APPCONTROL_OPERATION_RECORD L ”
http://tizen.org/appcontrol/operation/createcontent”
APPCONTROL_OPERATION_SHARE L”http://tizen.org/appcontrol/operation/share”
APPCONTROL_OPERATION_VIEW L”http://tizen.org/appcontrol/operation/view”
1.4. Feature Migration
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 24| Page
Provider
ID
APPCONTROL_AUDIO L”tizen.musicplayer”
APPCONTROL_BROWSER L”tizen.internet”
APPCONTROL_CALENDAR L”tizen.calendar”
APPCONTROL_CALL L”tizen.phone”
APPCONTROL_CAMERA L”tizen.camera”
APPCONTROL_CONTACT L”tizen.contacts”
APPCONTROL_EMAIL L”tizen.email”
APPCONTROL_IMAGE L”tizen.imageviewer”
APPCONTROL_MEDIA L”tizen.filemanager”
APPCONTROL_MESSAGE L”tizen.messages”
APPCONTROL_SETTINGS L”tizen.settings”
APPCONTROL_VIDEO L”tizen.videoplayer”
APPCONTROL_PROVIDER_AUDIO L”tizen.musicplayer”
APPCONTROL_PROVIDER_BLUETOOTH L”tizen.bluetooth”
APPCONTROL_PROVIDER_BROWSER L”tizen.internet”
APPCONTROL_PROVIDER_CALENDAR L”tizen.calendar”
APPCONTROL_PROVIDER_CALL L”tizen.phone”
APPCONTROL_PROVIDER_CAMERA L”tizen.camera”
APPCONTROL_PROVIDER_CERTIFICAT
E_MANAGER
L”tizen.certificatemanager”
APPCONTROL_PROVIDER_CONTACT L”tizen.contacts”
APPCONTROL_PROVIDER_EMAIL L”tizen.email”
APPCONTROL_PROVIDER_IMAGE L”tizen.imageviewer”
APPCONTROL_PROVIDER_MEDIA L”tizen.filemanager”
APPCONTROL_PROVIDER_MESSAGE L”tizen.messages”
APPCONTROL_PROVIDER_SETTINGS L”tizen.settings”
APPCONTROL_PROVIDER_VIDEO L”tizen.videoplayer”
Sign-in AppControl
The following constants related to the Sign-in AppControl are removed.
Osp::App::APPCONTROL_SIGNIN
Osp::App::APPCONTROL_PROVIDER_SIGNIN
Osp::App::APPCONTROL_OPERATION_SIGNIN
Osp::App::OPERATION_SIGNIN
Application Launch and Control Request
The workflows of the following application launching cases are changed in Tizen:
Normal application launch
Conditional application launch
Application control start request from other application
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 25| Page
In bada 2.0, the Osp::Application::OnUserEventReceivedN() event handler is invoked if the normal or
conditional application launch, or an application control request is received. The application must parse the array list to identify what the request is, as shown in the following code:
void MyApplication::OnUserEventReceivedN(RequestId reqId, IList* pArgs)
{
if (reqId == AppLaunchRequestId && pArgs != null)
{
if (pArgs->GetAt(0) == APP_LAUNCH_NORMAL)
{
// Normal application launch
}
else if (pArgs->GetAt(0) == APP_LAUNCH_CONDITIONAL)
{
// Conditional application launch
}
else
{
// Application control request
}
}
}
In the Osp::Application::OnAppInitializing()event handler, the application can get the same information
by invoking the Osp::Application::GetAppArgumentListN() method.
In Tizen, the normal application launch request is classified as a special kind of application control request with the
L”http://tizen.org/appcontrol/operation/main” operation ID, and it can be checked in the
Tizen::App::IAppControlProviderEventListener interface. The conditional application launch can be
checked in the Tizen::App::IAppLaunchConditionEventListener interface, as shown in the following code:
void MyApplication::OnAppInitializing(AppRegistry& appRegistry)
{
//...
AppControlProviderManager::GetInstance()->
SetAppControlProviderEventListener(this);
AppManager::GetInstance()->SetAppLaunchConditionEventListener(this);
}
void MyApplication::OnAppControlRequestReceived (RequestId reqId,
const String& opId,
const String* pUriData,
const String* pDataType,
const IMap* pArgs)
{
if (opId == L”http://tizen.org/appcontrol/operation/main”)
{
// Normal launch
}
else
{
// Application control launch
}
}
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 26| Page
void MyApplication::OnAppLaunchConditionMetN(const String& condition,
Object* pExtra, IList* pArgs)
{
// Conditional application request
}
The listeners in the above code snippet are invoked in the following order:
Tizen::App::OnAppInitializing()
Tizen::App::IAppControlProviderEventListener::OnAppControlRequestReceived() or Tizen::App::IAppLaunchConditionEventListener::OnAppLaunchConditionMetN()
Tizen::App::UiApp::OnForeground() or Tizen::App::App::OnAppInitialized() when
initializing the application
1.4.3. Ad Controls
The Osp::Ads::Controls namespace is removed. Alternative APIs will be provided in the near future.
1.4.4. Base – Collections
In bada 2.0, manual actions are needed to clean the containing elements of a collection before destroying the
elements.
In Tizen, you can define a custom element deleter, which cleans up automatically when the collection is destroyed.
The following code shows a list collection example in different versions, when the MyClass::CleanUp() method
must be called before destroying the MyClass instance.
In bada 2.0:
ArrayList list;
// Call MyClass::CleanUp() using an enumerator
IEnumerator* pEnum = list.GetEnumeratorN();
Object* pItem = null;
MyClass* pMyClass = null;
while (pEnum->MoveNext() == E_SUCCESS)
{
pItem = pEnum->GetCurrent();
pMyClass = dynamic_cast< MyClass* >(pItem);
pMyClass->CleanUp();
}
// Destroy all elements
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 27| Page
list.RemoveAll(true);
In Tizen:
// Define the custom element deleter, MyClassDeleter
void
MyClassDeleter(Object* pObj)
{
// Check for null as necessary
if (pObj != null)
{
MyClass* pMyClass = dynamic_cast< MyClass* >(pObj);
pMyClass->CleanUp();
delete pObj;
}
}
// Set the element deleter to MyClassDeleter
ArrayList list(MyClassDeleter);
// Destructor of ArrayList calls RemoveAll(), which in turn calls MyClassDeleter()
// When the ArrayList instance goes out of scope,
// all containing elements are automatically cleaned up
}
1.4.5. Commerce
The Osp::Commerce::Store namespace is removed. Alternative APIs will be provided in the near future.
1.4.6. Content - Database Synchronization
In bada 2.0, the content database is not synchronized automatically even if physical files exist in the media directory.
The content database is only synchronized if the Osp::Content::ContentManager::CreateContent()
method is called.
In Tizen, the database is automatically synchronized if a physical file is created, updated, or deleted in the media directory.
1.4.7. Graphics
Bitmap Capture
In bada 2.0, the Bitmap instance is initialized by copying a rectangular area of the screen. Even when the
application runs in the background, the foreground screen can be captured.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 28| Page
In Tizen, the behavior of the Tizen::Graphics::Bitmap::Construct(const Rectangle&) method is clearly
defined. It initializes the Bitmap instance by copying a Frame (the rectangular area of the application) which implies
that you can capture only the content of your application.
result Osp::Graphics::Canvas::Show(void)
In Tizen, the Tizen::Graphics::Canvas::Show() method gives the E_UNSUPPORTED_OPERATION exception
in case of Memory Canvas that is created by the Tizen::Graphics::Canvas::Construct() method and is not
associated with any particular Window.
To avoid the exception, use Window Canvas that is retrieved from a UI control instead of Memory Canvas with the following two methods:
Drawing 2D primitives to Window Canvas
Copying the Memory Canvas buffer for 2D primitives to Window Canvas
BUG FIX: Constructor of Osp::Graphics::Bitmap by ByteBuffer
The ByteBuffer input parameter of the Osp::Graphics::Bitmap::Construct(const ByteBuffer&, …)
method must not be changed due to the const keyword. In bada 2.0, there is a bug that causes the buffer position of
the ByteBuffer instance to point to the last current index after the Osp::Graphics::Bitmap::Construct()
method is called. This is now fixed and the ByteBuffer is not changed.
1.4.8. Io
Osp::Io::File
The following methods are removed in Tizen:
result Construct(const Osp::Base::String &filePath, const Osp::Base::String
&openMode, bool secureMode, bool createParentDirectories)
result Construct(const Osp::Base::String &filePath, const Osp::Base::String
&openMode, bool secureMode, const Osp::Base::ByteBuffer &key, bool
createParentDirectories)
Instead of them, use the following method:
result Construct(const Tizen::Base::String &filePath, const char* pOpenMode, const
Tizen::Base::ByteBuffer &key)
Osp::Io::Database
The following methods are removed in Tizen:
result Construct(const Osp::Base::String &databasePath, long openMode, bool
secureMode, long option)
-result Construct(const Osp::Base::String &databasePath, long openMode, bool
secureMode, const Osp::Base::ByteBuffer &key, long option)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 29| Page
Instead of them, use the following method:
result Construct(const Tizen::Base::String &databasePath, const char* pOpenMode,
const Tizen::Base::ByteBuffer &key)
Osp::Io::Registry
The following methods are removed in Tizen:
result Construct(const Osp::Base::String ®Path, long openMode, bool secureMode,
long option)
result Construct(const Osp::Base::String ®Path, long openMode, bool secureMode,
const Osp::Base::ByteBuffer &key, long option)
Instead of them, use the following method:
result Construct(const Tizen::Base::String ®Path, const char* pOpenMode, const
Tizen::Base::ByteBuffer &key)
Osp::Io::SerialPort
Though commans sent by the host device in bada are compatible in Tizen, you must change them to Tizen commands of the host device to upgrade your application in Tizen continuously. For Tizen commands, see “Tizen Native App Programming > Programming Guide > Io: Input, Output, and Data Handling > Serial Port Communication” in Tizen IDE Help Contents.
1.4.9. Locations
Most features of the Osp::Locations::Controls and Osp::Locatinos::Services namespaces are removed. Alternative APIs will be provided in the near future.
1.4.10. Media
OpenAL Library Name
The OpenAL’s library name is changed from ‘libfreealut’ to ‘libalut’. In the Properties > C/C++ Build >
Settings > C++ Linker -> Libraries(-l), change the library name from freealut to alut.
Buffer management in AudioOut::WriteBuffer(const Osp::Base::ByteBuffer &userData)
In bada 2.0, the Osp::Media::AudioOut::WriteBuffer() copies the input buffer to an internal buffer, for caller
to reuse the input buffer after calling WriteBuffer().
In Tizen the input buffer is added to the queue without copying its data. Therefore, the caller must not delete or overwrite the input buffer until the Tizen::Media::IAudioOutEventListener::OnAudioOutBufferEndReached(Tizen::Media::AudioOu
t &src) is called. If the caller overwrites the input buffer with other audio data after
Tizen::Media::AudioOut::WriteBuffer() method, it may result in a jitter sound. If the caller deletes the
input buffer, then the application may crash.
BUG FIX: Exception Handling in Osp::Media::Player::OpenXxx()
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 30| Page
If your application handles the E_UNSUPPORTED_FORMAT or E_UNSUPPORTED_CODEC exceptions after calling the
following methods in bada 2.0, move the exception handling after the Osp::Media::Player::Play() method.
Osp::Player::OpenFile()
Osp::Media::Player::OpenBuffer()
Osp::Media::Player::OpenUrl()
In Tizen, these methods do not return those exceptions.
1.4.11. Messaging
BUG FIX: Osp::Messaging::RecipientList::GetHashCode()
A bug that gives different hash values for the same instance is fixed.
1.4.12. Network
Ad-hoc
The ad-hoc feature is removed. Instead of using this feature, use the Wi-Fi Direct™ classes in the Osp::Network::Wifi namespace that provide similar methods.
Osp::Net::Wife::WifiDirectGroupInfo
The following method is removed in Tizen:
result SetSsid(const Osp::Base::String &ssid)
1.4.13. Security
The Osp::Security::Crypto::Rc5Cipher class is removed. Alternative class such as
Osp::Security::Crypto::AesCipher class can be used for symmetric encryption algorithm.
1.4.14. Social
Addressbook (Osp::Social::Addressbook::Construct(const IRecordEventListener*))
The following changes are made:
In bada 2.0, the application is not notified of the changes that are made by itself. However, in Tizen, the application is notified of the changes that are by itself.
In bada 2.0, when a contact is added to or removed from a category, the application is only notified of the changes in the category. However, in Tizen, the application is notified of both the changes in the category as well as the changes in the contact.
CalEvent (Osp::Social::CalEvent::SetCategory())
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 31| Page
In bada 2.0, if the category property of the CalEvent class is set to EVENT_CATEGORY_ANNIVERSARY, it is handled
as an ‘all day event’ even though the all-day event property is not set.
However, in Tizen, if the category property is set to EVENT_CATEGORY_ANNIVERSARY, the all-day event property is
set automatically.
Calendarbook
The following changes are made in the Calendarbook class:
Osp::Social::Calendarbook::Construct(const IRecordEventListener*)
In bada 2.0, the application is not notified of the changes that are made by itself. However, in Tizen, the application is notified of the changes that are by itself starting.
Osp::Social::Calendarbook::GetEventInstances() and Osp::Social::Calendarbook::GetEventInstancesN()
In Tizen, the system limits the maximum number of the recurring events that are generated by the event recurrence rule. If the ‘until’ property of the recurrence is set to too distant a date compared to the event’s start date, many recurring events are generated. This is the same when the recurrence count value is large. In this case, the system limits the number of event instances created.
Type of RecordId
In bada 2.0, the type of RecordId was long long. However, in Tizen, the type of RecordId is int. If an
application used long long type instead of RecordId, this change must be considered.
Social Services
The Osp::Social::Services namespace is removed.
The features related to the following classes are removed.
Osp::Social::Services::BuddyService
Osp::Social::Services::ProfileService
Osp::Social::Services::PrivacyManager
The classes related to Osp::Social::Services::SnsGateway, and their APIs, have been deprecated and are
provided with the Samsung::SnsGateway namespace in the SnsGateway add-on SDK. To use the SnsGateway features:
1. Install the SnsGateway add-on SDK. The installation method is the same as for the migration tool add-on SDK.
2. Import a bada application project and convert it to Tizen application project.
3. Add the http://tizen.org/privilege/web.service and http://tizen.org/privilege/http
privileges to the application in the manifest editor.
4. Replace existing ‘Tizen::Social::Services’ instances with ‘Samsung::SnsGateway’.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 32| Page
5. Include the ‘SamsungSnsGateway.h’ file. If the ‘FSocialServices.h’ or ‘FSclSvc*.h’ files are included,
remove them.
6. In the Project Explorer view, right-click the project and select Properties > C/C++ Build > Tizen Settings > Framework, and check samsung-snsgateway-sdk.
In case of Facebook and Twitter features, alternative APIs will be provided in the near future.
1.4.15. UI
Frame and Form
In bada, there is a maximum number of Frames and Forms that the application can construct. In Tizen, the number
is limited only by the available memory.
Flash
The Osp::Ui::Control::Flash class and its related classes are removed. Alternative APIs will be provided in
the near future.
Osp::Ui::Control::OnInitializing() and OnTerminating()
The Osp::Ui::Control::OnInitializing() method is no longer called when you call the AddControl()
method, but it is called if the control is successfully attached to the internal tree of containers and controls. If the
application has created a parent container and added your control to the container, the OnInitializing method of
your control will be called not after AddControl() to the parent container, but when the parent container itself is
also successfully added to its container, all the way up to the Frame.
The Osp::Ui::Control::OnTerminating() method is called prior to removal of its child controls. While the
UI framework will take care of actually removing and deleting the child controls, the application has the option of doing this removal itself, or making use of the controls prior to its deletion.
Osp::Ui::Control::Draw()
In bada 2.0, the Draw() method draws child controls in a recursive way regardless of the visibility of the parent. In
Tizen, the Draw() method stops drawing at the control which is not visible while issuing control drawing recursively
to the leaf controls.
Osp::Ui::Control::GetCanvasN()
In bada, the Osp::Ui::Control::GetCanvasN() method becomes available after the controls are constructed,
whereas in Tizen, the method can work after the controls are constructed and successfully attached to the internal
tree of containers and controls. The Tizen::Ui::Control::OnInitializing() event handler is called when
the control gets attached to the internal tree, and the GetCanvasN() method works after the OnInitializing()
event handler is called.
Osp::Ui::Container::GetControl()
In bada 2.0, the GetControl() method searches for itself first and then child controls. In Tizen, it searches for the
child controls only.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 33| Page
1.4.16. Uix
Face
The following classes are removed in Tizen. For the face feature, use the Tizen::Uix::Vision namespace.
Osp::Uix::FaceXxxxx
Haptic, Weather
Haptic and Weather features are removed in Tizen.
Speech-To-Text(STT), Text-To_Speech(TTS)
The following classes and related enumerations are removed in Tizen. For speech features, use the Tizen::Uix::Speech namespace.
Osp::Uix::SpeechToText
Osp::Uix::ISpeechToTextEventListener
Osp::Uix::TextToSpeech
Osp::Uix::ITextToSpeechEventListener
Sensor
The following classes are removed in Tizen. For the sensor feature, use the Tizen::Uix::Sensor namespace.
Osp::Uix::SensorData
Osp::Uix::SensorManager
Osp::Uix::ISensorEventListener
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 34| Page
2. API and Privilege Checker
In Tizen, some features are changed due to the following issues:
Privilege
If there are APIs that have a changed privilege in your application, the manifest.xml file must be updated.
You can check improper privileges in the API and Privilege Checker and solve them through the native API Reference.
Compatibility You can check for APIs with compatibility issues while using the API and Privilege Checker. Make sure you follow the compatibility description of the native API Reference.
Deprecated API For deprecated APIs, you can check them with the API and Privilege Checker. To ease application maintenance, do not use deprecated APIs. For more information of the deprecated APIs, see the native API Reference.
The API and Privilege Checker helps you to check whether you are using the Tizen APIs properly. Before building your application, select C/C++ Build > Tizen Settings > API Privilege Checker in your application project Properties and select the items that you want the tool to check.
2.1. Using the API and Privilege Checker
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 35| Page
Figure 14: API and Privilege Checker
If the tool detects any issues, they are shown in the Problems view after the build is completed. To solve issues for each API, see the information in the native API Reference.
The following alarms with the specific API in the Problems view after building your application point to privilege issues:
Undefined privilege alarm
Unused privilege alarm
Check the manifest.xml file and update it to use the API. In the IDE, you can select and update privileges. The
following figure shows how the privilege information is given in the native API Reference.
2.2. Solving Privilege Issues
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 36| Page
Figure 15: Privilege information in the native API reference
2.3. Solving Compatibility Issues
The following alarm with the specific API in the Problems view after building your application points to a compatibility issue:
Compatibility alarm
Check the compatibility details of the API in the native API Reference, as illustrated in the following figure.
Figure 16: Compatibility information in the native API reference
Note: The compatibility alarm does not disappear after updating your application code. It just gives you the notification.
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 37| Page
2.4. Solving Deprecation Issues
The following alarm with the specific API in the Problems view after building your application points to the use of deprecated APIs:
Deprecated API alarm
Update your application code based on the information in the native API Reference. The update is not mandatory, but makes your application maintenance easier in the long run.
Figure 17: Deprecation information in the native API reference
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 38| Page
Appendix A. Automatic Changes by the Converting Tool
The following sections describe changes that the migration tool provides automatically when bada applications are converted to Tizen native applications.
The Tizen IDE adds the mainmenu.png icon file in the /icons/screen-density-xhigh directory and the added
icon file is described in <icon> element with Section=”MainMenu” and Type=”Xhigh”.
A.2. Application Framework Code Changes
The Tizen IDE adds some code automatically to build and run your application when it converts the bada C++ application project to the Tizen native application project.
Tizen::App::Application class
The Tizen::App::Application class is changed to the Tizen::App::UiApp class.
class BasicApp
public Tizen::App::UiApp,
public Tizen::System::IScreenEventListener
{
public:
static Tizen::App::UiApp* CreateInstance(void)
}
OnAppInitializing()
In Tizen, the following code has to be added in the OnAppInitializing() event handler to create a frame.
bool
BasicApp::OnAppInitializing(void)
{
// Create a Frame
Frame* pBasicAppFrame = new Frame();
pBasicAppFrame->Construct();
pBasicAppFrame->SetName(L"BasicApp");
AddFrame(*pBasicAppFrame);
// Create a form
BasicAppForm* pBasicAppForm = new BasicAppForm();
pBasicAppForm->Initialize();
// Add the form to the frame
pBasicAppFrame->AddControl(*pBasicAppForm);
A.1. Icon Size
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 39| Page
// Set the current form
pBasicAppFrame->SetCurrentForm(*pBasicAppForm);
// Draw the form
pBasicAppForm->Draw();
return true;
}
A.3. Manifest File Change
In a Tizen application project, the application information is registered in the manifest.xml file only, while a bada
application project has its information in both the manifest.xml and application.xml files.
A.4. Resource Directory Changes
The resource folder names have been changed in Tizen. The following table defines the details you need to handle the application resources.
Table 3: Changed resource directories
bada Project Tizen Project
Home folder /Home /data
Icon folder /Inc /inc
Include folder /Icons /icons
Resource folder /Res /res
Resource folder /Res /res
/ScreenDensity-Low /screen-density-low
/ScreenDensity-Middle /screen-density-middle
/ScreenDensity-High /screen-density-high
/ScreenSize-Normal /screen-size-normal
Source folder /Src /src
A.5. Header File Name Changes
The following headers are changed in Tizen. Since umbrella headers are used in the application code, if the following headers are used in your bada application, change them to umbrella headers of their namespaces.
FBaseChar.h -> FBase.h
FBaseRtThreadIRunnable.h -> FBase.h
FBaseRtThreadMonitor.h -> FBase.h
FBaseRtThreadMutex.h -> FBase.h
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 40| Page
FBaseRtThreadSemaphore.h -> FBase.h
FBaseRtThreadThread.h -> FBase.h
FCntConstants.h -> FContent.h
FMediaAudioCommon.h -> FMedia.h
FMediaAudioRecorderCommon.h -> FMedia.h
FMediaCameraCommon.h -> FMedia.h
FMediaCapabilityCommon.h -> FMedia.h
FMediaImageCommon.h -> FMedia.h
FMediaImageUtilTypes.h -> FMedia.h
FMediaPlayerCommon.h -> FMedia.h
FMediaRecorderCommon.h -> FMedia.h
FMediaToneCommon.h -> FMedia.h
FMediaVideoRecorderCommon.h -> FMedia.h
FMsgCommon.h -> FMessaging.h
FNetIP4Address.h -> FNet.h
FNetIPAddress.h -> FNet.h
FNetIPHostEntry.h -> FNet.h
FSocialTypes.h -> FSocial.h
FTelEnum.h -> FTelephony.h
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 41| Page
Appendix B. Changing Non-local and Non-POD Objects to Alternative APIs
The non-local and non-POD objects should be changed to alternative API as the following table.
Table 4: Alternative APIs for non-local and non-POD objects
Existing Non-local and Non-POD objects Alternative APIs in Tizen
Name Type Name Type
Osp::App::APP_LAUNCH_NORMAL Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to 1.4.3. App > Application Launch and Control Request section
-
Osp::App::APP_LAUNCH_CONDITIONA
L
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to 1.4.3. App > Application Launch and Control Request section
-
Osp::App::APPCONTROL_AUDIO Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_BROWSER Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_BT Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_CALENDAR Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_CALL Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_CAMERA Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_CONTACT Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_DIAL Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_EMAIL Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_IMAGE Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_MEDIA Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_MESSAGE Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 42| Page
Osp::App::APPCONTROL_SETTINGS Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_TODO Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_VIDEO Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::OPERATION_ADD Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::OPERATION_CAPTURE Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::OPERATION_DEFAULT Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::OPERATION_EDIT Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::OPERATION_PICK Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::OPERATION_PLAY Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::OPERATION_SIGNOUT Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::OPERATION_VIEW Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_A
UDIO
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_B
LUETOOTH
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_B
ROWSER
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_C
ALENDAR
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_C
ALL
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_C
AMERA
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_C
ERTIFICATE_MANAGER
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_C
ONTACT
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 43| Page
Osp::App::APPCONTROL_PROVIDER_E
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_I
MAGE
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_I
MAGE_EDITOR
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_M
EDIA
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_M
ESSAGE
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_S
ETTINGS
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_PROVIDER_V
IDEO
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
ADD
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
CALL
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
CAPTURE
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
COMPOSE
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
CONFIGURE
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
CROP
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
DEFAULT
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
DIAL
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
EDIT
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
MAIN
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
PICK
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
PLAY
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 44| Page
Osp::App::APPCONTROL_OPERATION_
RECORD
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
SHARE
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::App::APPCONTROL_OPERATION_
VIEW
Osp::Base::Str
ing
Alternative API is NOT provided. Please, refer to Table 2: Changed platform application controls
-
Osp::Base::UuId::INVALID_UUID Osp::Base::UuI
d GetInvalidUuId(void)
Tizen::Base::Uu
Id
Osp::Graphics::Color::COLOR_BLA
CK
Osp::Graphics:
:Color GetColor(COLOR_ID_BLACK)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_BLU
E
Osp::Graphics:
:Color GetColor(COLOR_ID_BLUE)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_CYA
N
Osp::Graphics:
:Color GetColor(COLOR_ID_CYAN)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_GRE
EN
Osp::Graphics:
:Color GetColor(COLOR_ID_GREEN)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_GRE
Y
Osp::Graphics:
:Color GetColor(COLOR_ID_GREY)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_MAG
ENTA
Osp::Graphics:
:Color GetColor(COLOR_ID_MAGENTA)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_RED Osp::Graphics:
:Color GetColor(COLOR_ID_RED)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_VIO
LET
Osp::Graphics:
:Color GetColor(COLOR_ID_VIOLET)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_WHI
TE
Osp::Graphics:
:Color GetColor(COLOR_ID_WHITE)
Tizen::Graphics
::Color
Osp::Graphics::Color::COLOR_YEL
LOW
Osp::Graphics:
:Color GetColor(COLOR_ID_YELLOW)
Tizen::Graphics
::Color
Osp::Net::Http::FILE_PART_DEFAU
LT_MIME_TYPE
Osp::Base::Str
ing
HTTP_FILE_PART_DEFAULT_MIM
E_TYPE wchar_t[]
Osp::Net::Http::STRING_PART_DEF
AULT_MIME_TYPE
Osp::Base::Str
ing
HTTP_STRING_PART_DEFAULT_M
IME_TYPE wchar_t[]
Osp::Net::Nfc::NDEF_RTD_SMART_P
OSTER
Osp::Base::Str
ing NFC_NDEF_RTD_SMART_POSTER wchar_t[]
Osp::Net::Nfc::NDEF_RTD_TEXT Osp::Base::Str
ing NFC_NDEF_RTD_TEXT wchar_t[]
Osp::Net::Nfc::NDEF_RTD_URI Osp::Base::Str
ing NFC_NDEF_RTD_URI wchar_t[]
Osp::Social::IM_AIM Osp::Base::Str
ing IM_ADDRESS_AIM wchar_t[]
Osp::Social::IM_GTALK Osp::Base::Str
ing IM_ADDRESS_GTALK wchar_t[]
Osp::Social::IM_ICQ Osp::Base::Str
ing IM_ADDRESS_ICQ wchar_t[]
Osp::Social::IM_JABBER Osp::Base::Str
ing IM_ADDRESS_JABBER wchar_t[]
Osp::Social::IM_MSN Osp::Base::Str
ing IM_ADDRESS_MSN wchar_t[]
Osp::Social::IM_QQ Osp::Base::Str
ing IM_ADDRESS_QQ wchar_t[]
Osp::Social::IM_SKYPE Osp::Base::Str
ing IM_ADDRESS_SKYPE wchar_t[]
Osp::Social::IM_YAHOO Osp::Base::Str
ing IM_ADDRESS_YAHOO wchar_t[]
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 45| Page
Osp::Ui::Controls::FAST_SCROLL_
SEARCH_ICON_INDEX
Osp::Base::Str
ing
FAST_SCROLL_SEARCH_ICON_IN
DEX_STRING wchar_t*
Osp::Ui::Controls::SYSTEM_COLOR
_BACKGROUND
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_BODY_TEXT
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_FOREGROUND
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_FORM_BACKGROUND
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_FORM_GROUP_BACKGROUND
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_GROUP_ITEM_TEXT
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_LIST_BACKGROUND
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_LIST_ITEM_HIGHLIGHTED_TEXT
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_LIST_ITEM_PRESSED_TEXT
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_LIST_ITEM_TEXT
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_POPUP_BACKGROUND
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Osp::Ui::Controls::SYSTEM_COLOR
_TITLE_TEXT
Osp::Graphics:
:Color
Alternative API is NOT provided. Please, refer to 1.3.5 Theme
-
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 46| Page
Appendix C. Removed APIs
Namespace Class Method
Osp::Ads All classes -
Osp::App Osp::App::AppType
Osp::App::Application Osp::App::GetAppSecret(void)
Osp::App::IPackageEventLi
stener
Osp::App::IpackageEventListener::OnPackageInstallCompleted(
const Osp::Base::String&,
Osp::App::PackageManager::PackageType,
Osp::App::PackageErrorType)
Osp::App::IpackageEventLi
stener
Osp::App::IpackageEventListener::OnPackageInstalling(const
Osp::Base::String&, Osp::App::PackageManager::PackageType,
int, int)
Osp::App::PackageInfo Osp::App::PackageInfo::PackageInfo(void)
Osp::App::PackageManager
Osp::App::PackageManager::IsAppInstalled(const
Osp::Base::String&)
Osp::Base Osp::Base::Runtime::Timer Osp::Base::Runtime::Timer::Construct(const
Osp::Base::Runtime::ItimerEventListener&, bool)
Osp::Commerce
All classes -
Osp::Content Osp::Content::ContentInfo Osp::Content::ContentInfo::MakeThumbnail(Osp::Base::String)
Osp::Content::ContentMana
gerUtil
Osp::Content::ContentManagerUtil::DeleteContentInfo(Osp::Ba
se::String)
Osp::Content::ContentMana
gerUtil
Osp::Content::ContentManagerUtil::GetContentFileSize(Osp::C
ontent::ContentType, Osp::Base::String)
Osp::Content::ContentMana
gerUtil
Osp::Content::ContentManagerUtil::GetContentType(Osp::Base:
:String)
Osp::Content::ContentMana
gerUtil
Osp::Content::ContentManagerUtil::GetSystemAudioMetaN(Osp::
Base::String)
Osp::Content::ContentMana
gerUtil
Osp::Content::ContentManagerUtil::GetSystemImageMetaN(Osp::
Base::String)
Osp::Content::ContentMana
gerUtil
Osp::Content::ContentManagerUtil::GetSystemVideoMetaN(Osp::
Base::String)
Osp::Content::ContentMana
gerUtil
Osp::Content::ContentManagerUtil::IsContentCreated(Osp::Bas
e::String)
Osp::Content::ContentMana
gerUtil
Osp::Content::ContentManagerUtil::RegisterDirectory(Osp::Ba
se::String)
Osp::Content::ContentTran
sfer
Osp::Content::ContentTransfer::OmaDownload(Osp::Content::Do
wnloadDescriptor, Osp::Base::String, bool, RequestId,
Osp::Content::IcontentTransferListener, int)
Osp::Content::ContentTran
sfer
Osp::Content::ContentTransfer::Upload(Osp::Base::String,
Osp::Base::String, bool, Osp::Base::Utility::Uri,
RequestId)
Osp::Content::ContentTran
sferInfo
Osp::Content::ContentTransferInfo::GetContentTransferType(v
oid)
Osp::Content::ContentTran
sferInfo
Osp::Content::ContentTransferInfo::GetDownloadDescriptor(vo
id)
Osp::Content::ContentTran
sferInfo Osp::Content::ContentTransferInfo::GetSourcePath(void)
Osp::Content::ContentTran
sferInfo
Osp::Content::ContentTransferInfo::SetContentTransferStatus
(Osp::Content::ContentTransferStatus)
Osp::Content::DownloadDes
criptor Osp::Content::DownloadDescriptor::~DownloadDescriptor(void)
Osp::Content::DownloadDes
criptor Osp::Content::DownloadDescriptor::DownloadDescriptor(void)
Osp::Content::DownloadDes Osp::Content::DownloadDescriptor::DownloadDescriptor(Osp::C
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 47| Page
criptor ontent::DownloadDescriptor)
Osp::Content::DownloadDes
criptor Osp::Content::DownloadDescriptor::GetDescription(void)
Osp::Content::DownloadDes
criptor
Osp::Content::DownloadDescriptor::GetField(Osp::Content::Do
wnloadDescriptorField)
Osp::Content::DownloadDes
criptor Osp::Content::DownloadDescriptor::GetName(void)
Osp::Content::DownloadDes
criptor Osp::Content::DownloadDescriptor::GetSize(void)
Osp::Content::DownloadDes
criptor Osp::Content::DownloadDescriptor::GetType(void)
Osp::Content::DownloadDes
criptor
Osp::Content::DownloadDescriptor::operator=(Osp::Content::D
ownloadDescriptor)
Osp::Content::DownloadDes
criptor
Osp::Content::DownloadDescriptor::ParseString(Osp::Base::St
ring)
Osp::Content::IcontentTra
nsferListener
Osp::Content::IcontentTransferListener::OnContentUploadComp
leted(RequestId, result, Osp::Base::String,
Osp::Base::String)
Osp::Content::IcontentTra
nsferListener
Osp::Content::IcontentTransferListener::OnDownloadDescripto
rReceived(RequestId, Osp::Content::DownloadDescriptor)
Osp::Content::IRemoteCont
entManagerListener
Osp::Content::IremoteContentManagerListener::OnContentCreat
ed(RequestId, Osp::Base::String, result, Osp::Base::String,
Osp::Base::String)
Osp::Content::IRemoteCont
entManagerListener
Osp::Content::IremoteContentManagerListener::OnContentDelet
ed(RequestId, result, Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entManagerListener
Osp::Content::IremoteContentManagerListener::OnContentInfoR
eceivedN(RequestId, Osp::Content::RemoteContentInfo,
result, Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entManagerListener
Osp::Content::IremoteContentManagerListener::OnContentStatu
sReceived(RequestId, Osp::Content::RemoteContentStatus,
result, Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entManagerListener
Osp::Content::IremoteContentManagerListener::OnContentUpdat
ed(RequestId, result, Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entSearchListener
Osp::Content::IremoteContentSearchListener::OnCategoriesRec
eivedN(RequestId, Osp::Base::Collection::Ilist, result,
Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entSearchListener
Osp::Content::IremoteContentSearchListener::OnContentTypesR
eceivedN(RequestId, Osp::Base::Collection::Ilist, result,
Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entSearchListener
Osp::Content::IremoteContentSearchListener::OnRemoteContent
SearchResultReceivedN(RequestId,
Osp::Base::Collection::Ilist, int, int, int, int, result,
Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entSharingListener
Osp::Content::IremoteContentSharingListener::OnAddUsersToAc
lReceived(RequestId, result, Osp::Base::String,
Osp::Base::String)
Osp::Content::IRemoteCont
entSharingListener
Osp::Content::IremoteContentSharingListener::OnGetAccessLev
elReceived(RequestId, Osp::Social::Services::AccessLevel,
result, Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entSharingListener
Osp::Content::IremoteContentSharingListener::OnGetUsersInAc
lReceivedN(RequestId, Osp::Base::Collection::Ilist, result,
Osp::Base::String, Osp::Base::String)
Osp::Content::IRemoteCont
entSharingListener
Osp::Content::IremoteContentSharingListener::OnRemoveAllUse
rsFromAclReceived(RequestId, result, Osp::Base::String,
Osp::Base::String)
Osp::Content::IRemoteCont
entSharingListener
Osp::Content::IremoteContentSharingListener::OnRemoveUsersF
romAclReceived(RequestId, result, Osp::Base::String,
Osp::Base::String)
Osp::Content::IRemoteCont
entSharingListener
Osp::Content::IremoteContentSharingListener::OnSetAccessLev
elReceived(RequestId, result, Osp::Base::String,
Osp::Base::String)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 48| Page
Osp::Content::RemoteCateg
ory Osp::Content::RemoteCategory::~RemoteCategory(void)
Osp::Content::RemoteCateg
ory Osp::Content::RemoteCategory::GetId(void)
Osp::Content::RemoteCateg
ory Osp::Content::RemoteCategory::GetName(void)
Osp::Content::RemoteCateg
ory Osp::Content::RemoteCategory::GetParentId(void)
Osp::Content::RemoteCateg
ory Osp::Content::RemoteCategory::HasChildCategory(void)
Osp::Content::RemoteCateg
ory
Osp::Content::RemoteCategory::RemoteCategory(Osp::Content::
RemoteCategory)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::~RemoteContentInfo(void)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::Construct(Osp::Base::Strin
g, Osp::Base::Utility::Uri, int, Osp::Base::Utility::Uri,
int)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::GetAdditionalAttributes(vo
id)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetAuthor(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetCategory(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetContentId(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetContentName(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetContentPath(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetContentSize(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetContentType(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetDateTime(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetDescription(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetKeyword(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetLanguage(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetProvider(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetRating(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetShortDescription(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetStatus(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetThumbnailPath(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetThumbnailSize(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::GetUserId(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::IsDrmProtected(void)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::RemoteContentInfo(void)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::RemoteContentInfo(Osp::Con
tent::RemoteContentInfo)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 49| Page
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetAdditionalAttributes(Os
p::Base::Collection::Imap)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetAuthor(Osp::Base::Strin
g)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetCategory(Osp::Base::Str
ing)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetContentName(Osp::Base::
String)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetDescription(Osp::Base::
String)
Osp::Content::RemoteConte
ntInfo Osp::Content::RemoteContentInfo::SetDrmProtected(bool)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetKeyword(Osp::Base::Stri
ng)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetLanguage(Osp::Base::Str
ing)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetProvider(Osp::Base::Str
ing)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetRating(Osp::Base::Strin
g)
Osp::Content::RemoteConte
ntInfo
Osp::Content::RemoteContentInfo::SetShortDescription(Osp::B
ase::String)
Osp::Content::RemoteConte
ntManager
Osp::Content::RemoteContentManager::~RemoteContentManager(v
oid)
Osp::Content::RemoteConte
ntManager
Osp::Content::RemoteContentManager::Construct(Osp::Content:
:IremoteContentManagerListener)
Osp::Content::RemoteConte
ntManager
Osp::Content::RemoteContentManager::CreateContent(Osp::Cont
ent::RemoteContentInfo, RequestId)
Osp::Content::RemoteConte
ntManager
Osp::Content::RemoteContentManager::DeleteContent(Osp::Base
::String, RequestId)
Osp::Content::RemoteConte
ntManager
Osp::Content::RemoteContentManager::GetContentInfo(Osp::Bas
e::String, RequestId)
Osp::Content::RemoteConte
ntManager
Osp::Content::RemoteContentManager::GetContentStatus(Osp::B
ase::String, RequestId)
Osp::Content::RemoteConte
ntManager
Osp::Content::RemoteContentManager::RemoteContentManager(vo
id)
Osp::Content::RemoteConte
ntManager
Osp::Content::RemoteContentManager::UpdateContent(Osp::Cont
ent::RemoteContentInfo, RequestId)
Osp::Content::RemoteConte
ntSearch
Osp::Content::RemoteContentSearch::~RemoteContentSearch(voi
d)
Osp::Content::RemoteConte
ntSearch
Osp::Content::RemoteContentSearch::Construct(Osp::Content::
IRemoteContentSearchListener)
Osp::Content::RemoteConte
ntSearch
Osp::Content::RemoteContentSearch::GetCategoryList(RequestI
d, Osp::Content::RemoteCategory)
Osp::Content::RemoteConte
ntSearch
Osp::Content::RemoteContentSearch::GetContentTypeList(Reque
stId)
Osp::Content::RemoteConte
ntSearch
Osp::Content::RemoteContentSearch::RemoteContentSearch(void
)
Osp::Content::RemoteConte
ntSearch
Osp::Content::RemoteContentSearch::Search(Osp::Base::String
, RequestId, int, int, Osp::Base::Collection::IList,
Osp::Base::String, Osp::Base::SortOrder)
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::~RemoteContentSharing(v
oid)
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::AddUsersToAcl(Osp::Base
::String, Osp::Base::Collection::IList, RequestId)
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::Construct(Osp::Content:
:IRemoteContentSharingListener)
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::GetAccessLevel(Osp::Bas
e::String, RequestId)
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::GetUsersInAcl(Osp::Base
::String, RequestId)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 50| Page
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::RemoteContentSharing(vo
id)
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::RemoveAllUsersFromAcl(O
sp::Base::String, RequestId)
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::RemoveUsersFromAcl(Osp:
:Base::String, Osp::Base::Collection::IList, RequestId)
Osp::Content::RemoteConte
ntSharing
Osp::Content::RemoteContentSharing::SetAccessLevel(Osp::Bas
e::String, Osp::Social::Services::AccessLevel, RequestId)
Osp::Io Osp::Io::ChannelManager Osp::Io::ChannelManager::SetChannelEventListener(const
Osp::Io::IChannelEventListener)
Osp::Io::IChannelEventLis
tener
Osp::Io::IChannelEventListener::OnChannelCreated(const
Osp::App::AppId&, Osp::Io::ChannelType)
Osp::Io::IChannelEventLis
tener
Osp::Io::IChannelEventListener::OnChannelDeleted(const
Osp::App::AppId&, Osp::Io::ChannelType)
Osp::Io::Database Osp::Io::Database::Construct (const Osp::Base::String&, long, bool, long)
Osp::Io::Database
Osp::Io::Database::Construct(const
Osp::Base::String&, long, bool, const
Osp::Base::ByteBuffer&, long)
Osp::Io::Database Osp::Io::Database::ConvertToSecureDatabase(const
Osp::Base::String&, const Osp::Base::String&)
Osp::Io::File Osp::Io::File::Construct(const Osp::Base::String&, const
Osp::Base::String&, bool, bool)
Osp::Io::File
Osp::Io::File::Construct(const String&, const
Osp::Base::String&, bool, const Osp::Base::ByteBuffer&,
bool)
Osp::Io::File Osp::Io::File::ConvertToSecureFile(const
Osp::Base::String&, const Osp::Base::String&)
Osp::Io::File Osp::Io::File::IsEncrypted(const Osp::Base::String&
filePath)
Osp::Io::File Osp::Io::File::IsEncrypted(const Osp::Base::String&
filePath)
Osp::Io::Registry Osp::Io::Registry::Construct(const Osp::Base::String&,
long, bool, long)
Osp::Io::Registry
Osp::Io::Registry::Construct(const
Osp::Base::String&, long, bool, const
Osp::Base::ByteBuffer&, long)
Osp::Io::Registry Osp::Io::Registry::ConvertToSecureRegistry(const
Osp::Base::String&, const Osp::Base::String&)
Osp::Locations::Controls
All classes
-
Osp::Locations::Services
All classes -
Osp::Media Osp::Media::AudioRecorder Osp::Media::AudioRecorder::GetMaxRecordingSize(void)
Osp::Media::AudioRecorder Osp::Media::AudioRecorder::SetMaxRecordingSize(int)
Osp::Media::DrmConstraint
Info Osp::Media::DrmConstraintInfo::~DrmConstraintInfo(void)
Osp::Media::DrmConstraint
Info Osp::Media::DrmConstraintInfo::DrmConstraintInfo(void)
Osp::Media::DrmConstraint
Info Osp::Media::DrmConstraintInfo::GetAccumulatedTime(void)
Osp::Media::DrmConstraint
Info Osp::Media::DrmConstraintInfo::GetEndTime(void)
Osp::Media::DrmConstraint
Info Osp::Media::DrmConstraintInfo::GetInterval(void)
Osp::Media::DrmConstraint
Info Osp::Media::DrmConstraintInfo::GetLeftCounter(void)
Osp::Media::DrmConstraint
Info Osp::Media::DrmConstraintInfo::GetOriginalCounter(void)
Osp::Media::DrmConstraint Osp::Media::DrmConstraintInfo::GetStartTime(void)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 51| Page
Info
Osp::Media::DrmConstraint
Info Osp::Media::DrmConstraintInfo::GetTimedCount(int&, int&)
Osp::Media::DrmInfo Osp::Media::DrmInfo::~DrmInfo(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::Construct(const Osp::Base::String&)
Osp::Media::DrmInfo Osp::Media::DrmInfo::DrmInfo(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetContentAuthor(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetContentCopyright(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetContentDescription(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetContentIconUri(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetContentInfoUrl(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetContentTitle(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetContentType(void)
Osp::Media::DrmInfo
Osp::Media::DrmInfo::GetDrmConstraintInfo(Osp::Media::DrmPe
rmissionType, Osp::Media::DrmConstraintInfo&)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetDrmMethodType(void)
Osp::Media::DrmInfo
Osp::Media::DrmInfo::GetDrmRightStatus(Osp::Media::DrmPermi
ssionType, Osp::Media::DrmRightStatus&)
Osp::Media::DrmInfo Osp::Media::DrmInfo::GetDrmType(void)
Osp::Media::DrmInfo Osp::Media::DrmInfo::IsDrmFile(void)
Osp::Media::ImageBuffer Osp::Media::ImageBuffer::Construct(int width, int height,
MediaPixelFormat pixelFormat)
Osp::Media::ImageBuffer Osp::Media::ImageBuffer::Construct(byte* data, int width,
int height, MediaPixelFormat pixelFormat)
Osp::Media::ImageBuffer Osp::Media::ImageBuffer::Lock(byte* &data, int &length,
MediaPixelFormat &pixelFormat)
Osp::Media::ImageBuffer Osp::Media::ImageBuffer::Unlock(void)
Osp::Media::VideoRecorder Osp::Media::VideoRecorder::GetMaxRecordingSize(void)
Osp::Media::VideoRecorder Osp::Media::VideoRecorder::SetMaxRecordingSize(int)
Osp::Net Osp::Net::NetFastDormancy Osp::Net::NetFastDormancy::~NetFastDormancy(void)
Osp::Net::NetFastDormancy Osp::Net::NetFastDormancy::Construct(void)
Osp::Net::NetFastDormancy
Osp::Net::NetFastDormancy::Construct(const
Osp::Net::NetConnection&)
Osp::Net::NetFastDormancy Osp::Net::NetFastDormancy::NetFastDormancy(void)
Osp::Net::NetFastDormancy Osp::Net::NetFastDormancy::Start(void)
Osp::Net::NetFastDormancy Osp::Net::NetFastDormancy::Stop(void)
Osp::Net::Wifi::AdhocPeer
Info Osp::Net::Wifi::AdhocPeerInfo::~AdhocPeerInfo(void)
Osp::Net::Wifi::AdhocPeer
Info Osp::Net::Wifi::AdhocPeerInfo::AdhocPeerInfo(void)
Osp::Net::Wifi::AdhocPeer
Info Osp::Net::Wifi::AdhocPeerInfo::GetAddress(void)
Osp::Net::Wifi::AdhocPeer
Info Osp::Net::Wifi::AdhocPeerInfo::GetName(void)
Osp::Net::Wifi::AdhocPeer
Info Osp::Net::Wifi::AdhocPeerInfo::GetUpdatedTime()
Osp::Net::Wifi::AdhocPeer
Info
Osp::Net::Wifi::AdhocPeerInfo::SetAddress(Osp::Net::IpAddre
ss)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 52| Page
Osp::Net::Wifi::AdhocPeer
Info Osp::Net::Wifi::AdhocPeerInfo::SetName(Osp::Base::String)
Osp::Net::Wifi::AdhocPeer
Info
Osp::Net::Wifi::AdhocPeerInfo::SetUpdatedTime(Osp::Base::Da
teTime)
Osp::Net::Wifi::AdhocServ
ice Osp::Net::Wifi::AdhocService::~AdhocService(void)
Osp::Net::Wifi::AdhocServ
ice
Osp::Net::Wifi::AdhocService::AdhocService(const
Osp::Net::Wifi::IAdhocServiceEventListener&)
Osp::Net::Wifi::AdhocServ
ice Osp::Net::Wifi::AdhocService::GetNeighborsN(void)
Osp::Net::Wifi::AdhocServ
ice
Osp::Net::Wifi::AdhocService::SendBroadcastMessage(const
Osp::Base::String&)
Osp::Net::Wifi::AdhocServ
ice
Osp::Net::Wifi::AdhocService::SendUnicastMessage(const
Osp::Base::String&, const Osp::Base::String&)
Osp::Net::Wifi::AdhocServ
ice
Osp::Net::Wifi::AdhocService::SendUnicastMessage(const
Osp::Net::IpAddress&, const Osp::Base::String&)
Osp::Net::Wifi::AdhocServ
ice
Osp::Net::Wifi::AdhocService::SetPeerName(const
Osp::Base::String&)
Osp::Net::Wifi::AdhocServ
ice
Osp::Net::Wifi::AdhocService::StartAdhocService(const
Osp::Base::String&, const Osp::Base::String&,
Osp::Net::Wifi::WifiRadioChannel, bool)
Osp::Net::Wifi::AdhocServ
ice Osp::Net::Wifi::AdhocService::StopAdhocService(void)
Osp::Net::Wifi::IAdhocSer
viceEventListener
Osp::Net::Wifi::IAdhocServiceEventListener::~IAdhocServiceE
ventListener(void)
Osp::Net::Wifi::IAdhocSer
viceEventListener
Osp::Net::Wifi::IAdhocServiceEventListener::OnAdhocServiceS
tarted(const Osp::Net::NetConnection, result)
Osp::Net::Wifi::IAdhocSer
viceEventListener
Osp::Net::Wifi::IAdhocServiceEventListener::OnAdhocServiceS
topped(result)
Osp::Net::Wifi::IAdhocSer
viceEventListener
Osp::Net::Wifi::IAdhocServiceEventListener::OnMessageReceiv
ed(const Osp::Base::String&, const Osp::Base::String&)
Osp::Net::Wifi::WifiDirec
tGroupInfo
Osp::Net::Wifi::WifiDirectGroupInfo::SetSsid(const
Osp::Base::String&)
Osp::Security
Osp::Security::Cert::X509
CertificatePathValidation
Parameter
All APIs
Osp::Security::Crypto::Rc
5Cipher Osp::Security::Crypto::Rc5Cipher::~Rc5Cipher(void)
Osp::Security::Crypto::Rc
5Cipher
Osp::Security::Crypto::Rc5Cipher::Construct(const
Osp::Base::String&, enum CipherOperation)
Osp::Security::Crypto::Rc
5Cipher
Osp::Security::Crypto::Rc5Cipher::DecryptN(const
Osp::Base::ByteBuffer&)
Osp::Security::Crypto::Rc
5Cipher
Osp::Security::Crypto::Rc5Cipher::EncryptN(const
Osp::Base::ByteBuffer&)
Osp::Security::Crypto::Rc
5Cipher Osp::Security::Crypto::Rc5Cipher::FinalizeN(void)
Osp::Security::Crypto::Rc
5Cipher Osp::Security::Crypto::Rc5Cipher::Initialize(void)
Osp::Security::Crypto::Rc
5Cipher Osp::Security::Crypto::Rc5Cipher::Rc5Cipher(void)
Osp::Security::Crypto::Rc
5Cipher
Osp::Security::Crypto::Rc5Cipher::SetInitialVector(const
Osp::Base::ByteBuffer&)
Osp::Security::Crypto::Rc
5Cipher
Osp::Security::Crypto::Rc5Cipher::SetKey(const
Osp::Security::ISecretKey&)
Osp::Security::Crypto::Rc
5Cipher
Osp::Security::Crypto::Rc5Cipher::UnwrapN(const
Osp::Base::ByteBuffer&)
Osp::Security::Crypto::Rc
5Cipher
Osp::Security::Crypto::Rc5Cipher::UpdateN(const
Osp::Base::ByteBuffer&)
Osp::Security::Crypto::Rc
5Cipher
Osp::Security::Crypto::Rc5Cipher::WrapN(const
Osp::Base::ByteBuffer&)
Osp::Social - MIN_USER_ID_QUERY_LENGTH
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 53| Page
- Osp::Social::CalEventPropertyId
- Osp::Social::CalTodoPropertyId
Osp::Social::Addressbook Osp::Social::Addressbook::GetCategoryIdsN(void)
Osp::Social::Addressbook Osp::Social::Addressbook::GetContactIdsN(void)
Osp::Social::Addressbook Osp::Social::Addressbook::SearchContactsByUserIdN(const
UserId&)
Osp::Social::Calendarbook
Osp::Social::Addressbook::GetEventCount(const
Osp::Base::DateTime&, const Osp::Base::DateTime&, const
Osp::Locales::TimeZone&, unsigned long) const
Osp::Social::Calendarbook
Osp::Social::Addressbook::GetEventCount(const
Osp::Base::DateTime&, const Osp::Base::DateTime&, unsigned
long) const
Osp::Social::Calendarbook Osp::Social::Calendarbook::GetEventIdsN(unsigned long)
Osp::Social::Calendarbook
Osp::Social::Calendarbook::GetEventInstances(const
Osp::Base::DateTime&, const Osp::Base::DateTime&, int, int,
unsigned long, RequestId&, const
Osp::Social::IRecordListener&)
Osp::Social::Calendarbook
Osp::Social::Calendarbook::GetEventInstancesN(const
Osp::Base::DateTime&, const Osp::Base::DateTime&, int, int,
unsigned long)
Osp::Social::Calendarbook Osp::Social::Calendarbook::GetEventsN(const
Osp::Base::DateTime&, const Osp::Base::DateTime& end, const
Osp::Locales::TimeZone&, int, int, unsigned long) const
Osp::Social::Calendarbook Osp::Social::Calendarbook::GetEventsN(const
Osp::Base::DateTime&, const Osp::Base::DateTime&, int, int,
unsigned long) const
Osp::Social::Calendarbook Osp::Social::Calendarbook::GetTodoIdsN(unsigned long,
unsigned long)
Osp::Social::CalEvent Osp::Social::CalEvent::GetInstanceN(const
Osp::Social::RecurrenceId&)
Osp::Social::CalEvent Osp::Social::CalEvent::GetInstancesN(void)
Osp::Social::CalEvent Osp::Social::CalEvent::GetTimeStamp(void)
Osp::Social::CalEvent Osp::Social::CalEvent::SetTimeStamp(const
Osp::Base::DateTime&)
Osp::Social::Category Osp::Social::Category::GetAccountId(void) const
Osp::Social::CategoryChan
geInfo Osp::Social::CategoryChangeInfo::GetAccountId(void) const
Osp::Social::Contact Osp::Social::Contact::GetAccountId(void) const
Osp::Social::ContactChang
eInfo Osp::Social::ContactChangeInfo::GetAccountId(void) const
Osp::Social::Services
All classes -
Osp::Test All classes -
Osp::Ui Osp::Ui::FocusManager Osp::Ui::FocusMansger::SetCurrentFocusOwner(Control*)
Osp::Ui::Flash All classes -
Osp::Uix Osp::Uix::Haptic Osp::Uix::Haptic::CloseDevice(void)
Osp::Uix::Haptic Osp::Uix::Haptic::Construct(void)
Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceCapability(HapticDeviceCapabilit
yTypes, int&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceCapability(HapticDeviceCapabilit
yTypes, Osp::Base::String&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceCount(void) const
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 54| Page
Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceProperty(HapticDevicePropertyTyp
es, bool&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceProperty(HapticDevicePropertyTyp
es, int&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceProperty(HapticDevicePropertyTyp
es, Osp::Base::String&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceState(HapticDeviceState&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetEffectCount(const
Osp::Base::ByteBuffer&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetEffectDuration(const
Osp::Base::ByteBuffer&, int, int&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetEffectIndexFromName(const
Osp::Base::ByteBuffer&, const Osp::Base::String&, int&)
const
Osp::Uix::Haptic Osp::Uix::Haptic::GetEffectName(const
Osp::Base::ByteBuffer&, int, Osp::Base::String&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetEffectState(int effectHandle,
HapticEffectState&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetEffectType(const
Osp::Base::ByteBuffer&, int, HapticEffectTypes&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetInfiniteDuration(void) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetMagSweepEffectDefinition(const
Osp::Base::ByteBuffer&, int, HapticMagSweepEffect&) const
Osp::Uix::Haptic Osp::Uix::Haptic::GetPeriodicEffectDefinition(const
Osp::Base::ByteBuffer&, int, HapticPeriodicEffect&) const
Osp::Uix::Haptic Osp::Uix::Haptic::Haptic(void)
Osp::Uix::Haptic Osp::Uix::Haptic::ModifyPlayingMagSweepEffect(int, const
HapticMagSweepEffect&)
Osp::Uix::Haptic Osp::Uix::Haptic::ModifyPlayingPeriodicEffect(int, const
HapticPeriodicEffect&)
Osp::Uix::Haptic Osp::Uix::Haptic::OpenDevice(int)
Osp::Uix::Haptic Osp::Uix::Haptic::PausePlayingEffect(int)
Osp::Uix::Haptic Osp::Uix::Haptic::PlayEffect(const Osp::Base::ByteBuffer&,
int, int&)
Osp::Uix::Haptic Osp::Uix::Haptic::PlayEffectRepeat(const
Osp::Base::ByteBuffer&, int, unsigned char, int&)
Osp::Uix::Haptic Osp::Uix::Haptic::PlayMagSweepEffect(const
HapticMagSweepEffect&, int&)
Osp::Uix::Haptic Osp::Uix::Haptic::PlayPeriodicEffect(const
HapticPeriodicEffect&, int&)
Osp::Uix::Haptic Osp::Uix::Haptic::ResumePausedEffect(int)
Osp::Uix::Haptic Osp::Uix::Haptic::SetDeviceProperty(HapticDevicePropertyTyp
es, int)
Osp::Uix::Haptic Osp::Uix::Haptic::SetDeviceProperty(HapticDevicePropertyTyp
es, const Osp::Base::String&)
Osp::Uix::Haptic Osp::Uix::Haptic::SetDeviceProperty(HapticDevicePropertyTyp
es, bool)
Osp::Uix::Haptic Osp::Uix::Haptic::StopAllPlayingEffects(void)
Osp::Uix::Haptic Osp::Uix::Haptic::StopPlayingEffect(int)
Osp::Uix::Haptic Osp::Uix::Haptic::~Haptic(void)
Osp::Uix::HapticMagSweepE
ffect
-
Osp::Uix::HapticPeriodicE
ffect -
Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::CurrentWeather(void)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 55| Page
Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::GetCondition(void)
Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::GetHumidity(void)
Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::GetLocation(Osp::Base::String&)
Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::GetPressure(void)
Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::GetTemperature(float&, float&,
float&)
Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::GetWind(float&, float&)
Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::~CurrentWeather(void)
Osp::Uix::IWeatherEventLi
stener
Osp::Uix::IWeatherEventListener::OnCurrentWeatherReceived(C
urrentWeather&, result)
Osp::Uix::IWeatherEventLi
stener
Osp::Uix::IWeatherEventListener::OnWeatherForecastReceived(
Osp::Base::Collection::IList*, result)
Osp::Uix::WeatherForecast Osp::Uix::WeatherForecast::GetCondition(void)
Osp::Uix::WeatherForecast Osp::Uix::WeatherForecast::GetDate(Osp::Base::DateTime&)
Osp::Uix::WeatherForecast Osp::Uix::WeatherForecast::GetLocation(Osp::Base::String&)
Osp::Uix::WeatherForecast Osp::Uix::WeatherForecast::GetTemperature(float&, float&)
Osp::Uix::WeatherForecast Osp::Uix::WeatherForecast::WeatherForecast(void)
Osp::Uix::WeatherForecast Osp::Uix::WeatherForecast::~WeatherForecast(void)
Osp::Uix::WeatherSensor Osp::Uix::WeatherSensor::Construct(const
IWeatherEventListener&)
Osp::Uix::WeatherSensor Osp::Uix::WeatherSensor::RequestCurrentWeather(const
Osp::Base::String)
Osp::Uix::WeatherSensor Osp::Uix::WeatherSensor::RequestCurrentWeather(float,
float)
Osp::Uix::WeatherSensor Osp::Uix::WeatherSensor::RequestWeatherForecast(float,
float)
Osp::Uix::WeatherSensor Osp::Uix::WeatherSensor::RequestWeatherForecast(const
Osp::Base::String)
Osp::Uix::WeatherSensor Osp::Uix::WeatherSensor::WeatherSensor(void)
Osp::Uix::WeatherSensor Osp::Uix::WeatherSensor::~WeatherSensor(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Cancel(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Construct(const
ISpeechToTextEventListener&)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::GetCurrentGrammar(void) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::GetCurrentLocale(void) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::GetSupportedLocalesN(void) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Initialize(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::IsLocaleSupported(const
Osp::Locales::Locale&) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::IsProfanityFilterEnabled(void)
const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::IsPunctuationOverrideEnabled(void)
const
Osp::Uix::SpeechToText IsSilenceDetectionEnabled(void) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetGrammar(Osp::Base::String&)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetLocale(const
Osp::Locales::Locale&)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetProfanityFilterEnabled(bool)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 56| Page
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetPunctuationOverrideEnabled(bool)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetSilenceDetectionEnabled(bool)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SpeechToText(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Start(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Stop(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::~SpeechToText(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Cancel(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Construct(const
ISpeechToTextEventListener&)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::GetCurrentGrammar(void) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::GetCurrentLocale(void) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::GetSupportedLocalesN(void) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Initialize(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::IsLocaleSupported(const
Osp::Locales::Locale&) const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::IsProfanityFilterEnabled(void)
const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::IsPunctuationOverrideEnabled(void)
const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::IsSilenceDetectionEnabled(void)
const
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetGrammar(Osp::Base::String&)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetLocale(const
Osp::Locales::Locale&)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetProfanityFilterEnabled(bool)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetPunctuationOverrideEnabled(bool)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SetSilenceDetectionEnabled(bool)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::SpeechToText(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Start(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::Stop(void)
Osp::Uix::SpeechToText Osp::Uix::SpeechToText::~SpeechToText(void)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::Construct(const
ITextToSpeechEventListener&)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::GetCurrentLocale(void) const
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::GetMaxWordCount(void) const
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::GetSpeechRate(void) const
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::GetSupportedLocalesN(void) const
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::GetVoiceType(void) const
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::Initialize(void)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::IsLocaleSupported(const
Osp::Locales::Locale&) const
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::Pause(void)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::Resume(void)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::SetLocale(const
Osp::Locales::Locale&)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 57| Page
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::SetSpeechRate(TextToSpeechSpeechRat
e)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::SetVoiceType(TextToSpeechVoiceType)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::Speak(const Osp::Base::String&)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::Stop(void)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::TextToSpeech(void)
Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::~TextToSpeech(void)
Osp::Uix::ISpeechToTextEv
entListener
Osp::Uix::ISpeechToTextEventListener::OnSpeechToTextComplet
ed(Osp::Base::String&, SpeechToTextWarning)
Osp::Uix::ISpeechToTextEv
entListener
Osp::Uix::ISpeechToTextEventListener::OnSpeechToTextErrorOc
curred(SpeechToTextError)
Osp::Uix::ISpeechToTextEv
entListener
Osp::Uix::ISpeechToTextEventListener::OnSpeechToTextInitial
ized(void)
Osp::Uix::ISpeechToTextEv
entListener
Osp::Uix::ISpeechToTextEventListener::OnSpeechToTextRecordi
ngStatusChanged(SpeechToTextRecordingStatus)
Osp::Uix::ISpeechToTextEv
entListener
Osp::Uix::ISpeechToTextEventListener::~ISpeechToTextEventLi
stener(void)
Osp::Uix::ITextToSpeechEv
entListener
Osp::Uix::ITextToSpeechEventListener::OnTextToSpeechErrorOc
curred(TextToSpeechError)
Osp::Uix::ITextToSpeechEv
entListener
Osp::Uix::ITextToSpeechEventListener::OnTextToSpeechStatusC
hanged(TextToSpeechStatus)
Osp::Uix::ITextToSpeechEv
entListener
Osp::Uix::ITextToSpeechEventListener::~ITextToSpeechEventLi
stener(void)
Osp::Web Osp::Web::Controls::PageN
avigationList
Osp::Web::Controls::PageNavigationList::CreateInstanceN(voi
d)
Osp::Web::Controls::Web Osp::Web::Controls::Web::Pause(void)
Osp::Web::Controls::Web Osp::Web::Controls::Web::Resume(void)
Osp::Web::WebHistory Osp::Web::WebHistory::RemoveItem(int)
Application Migration Guide - bada C++ Application with bada 2.0 to Tizen Native Application
Except as noted, this content - excluding the Code Examples - is licensed under Creative Commons Attribution 3.0 and all of the Code Examples contained herein are licensed under Flora 1.0.
For details, see the Content License. . 58| Page
Appendix D. const Removed from Listener
and Provider Arguments
The const keyword can create problems of constness inconsistency and rvalue-incompatible member methods in
the arguments of the following Tizen APIs that use the listener or provider as an argument, as well as in the arguments of methods that have similar patterns:
Construct()
SetXxxListener()
AddXxxListener()
RemoveXxxListener()
Every event handler virtual member method of the listener classes is declared as a non-const member method, and you can modify the state of the implementation listener class freely. However, the modifications lead to the constness
inconsistency between the const argument of upper APIs and non-const member methods of the listener classes.
If a listener instance of XxxListener() is used as the const reference argument of upper APIs (as shown below),
it can be bound to an rvalue (or temporary) object:
AddXxxListener(XxxListener());
Even though the code is allowed, the implementations of the AddXxxListener() method remember the instance
as a non-const pointer, which is dangerous, because the temporal object is destroyed right after returning from the
AddXxxListener() method. Actually, the AddXXXListener() method is supposed to do that because the non-
const listener event handler is called back later.
For this reason, check that no removed const keywords from the Tizen APIs are used in your applications.