42
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 OSP-compatible Tizen Application

(version 2.0) to an OSP-compatible Tizen native application

Embed Size (px)

Citation preview

Page 1: (version 2.0) to an OSP-compatible 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.

Application Migration Guide - bada C++ Application with bada 2.0 to

OSP-compatible Tizen Application

Page 2: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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 OSP-compatible Tizen 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. Strong Two Phase Construction Mechanism Check ................................................ 7

1.1.7. Pure Virtual Method Implementation ........................................................................ 8

1.1.8. LLVM Compiler ......................................................................................................... 8

1.1.9. Application Installation Location ............................................................................... 8

1.1.10. Rapid Development Support ............................................................................ 8

1.1.11. Application Installation Location ....................................................................... 8

1.2. File Management Migration ...................................................................................................... 8

1.3. UI Migration .............................................................................................................................. 8

1.3.1. Supporting the HD Resolution .................................................................................. 8

1.3.2. Handling Hardware Menu and Back Keys ............................................................. 11

1.3.3. Drawing UI Controls ............................................................................................... 14

1.3.4. Handling UI Control Changes ................................................................................. 14

1.3.5. Handling Font Changes .......................................................................................... 17

1.3.6. Theme .................................................................................................................... 17

1.3.7. Application Icons .................................................................................................... 18

1.4. Feature Migration .................................................................................................................... 18

1.4.1. Server APIs ............................................................................................................ 18

1.4.2. App ......................................................................................................................... 18

1.4.3. Ad Controls ............................................................................................................. 19

1.4.4. Commerce .............................................................................................................. 19

1.4.5. Content - Database Synchronization ..................................................................... 19

1.4.6. Graphics ................................................................................................................. 19

1.4.7. Io ............................................................................................................................. 19

1.4.8. Locations ................................................................................................................ 21

1.4.9. Media ...................................................................................................................... 21

1.4.10. Messaging ...................................................................................................... 22

Table of Contents

Page 3: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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.11. Network ........................................................................................................... 22

1.4.12. Security ........................................................................................................... 22

1.4.13. Social .............................................................................................................. 22

1.4.14. System ............................................................................................................ 24

1.4.15. UI .................................................................................................................... 24

1.4.16. Uix ................................................................................................................... 25

Appendix A. Automatic Changes by the Converting Tool .............................. 26

A.1. Icon Size ................................................................................................................................. 26

A.2. Manifest File Change .............................................................................................................. 26

A.3. Resource Directory Changes ................................................................................................. 26

A.4. Header File Name Changes ................................................................................................... 26

A.5. Tizen Namespace ................................................................................................................... 27

Appendix B. Removed APIs............................................................................... 29

Page 4: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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 OSP-compatible applications in Tizen. 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 the 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 that is

compatible with OSP. For the other migration options, see the guides under the ‘tizen-sdk/documentation’ folder

after installing the migration tool add-on SDK.

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.

Page 5: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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 OSP-compatible Tizen Application

You can convert your existing bada C++ application with bada 2.0 to an OSP-compatibleTizen native application, and the migrated application runs on a Tizen device. However, note that some newly-supported Tizen features cannot be used in the OSP-compatible Tizen application. For more information on converting to Tizen native applications without the OSP compatible mode, see Application Migration Guide - bada Cpp App with bada 2.0 to Tizen Native App.pdf.

Due to the binary incompatibility, to run your existing bada C++ application project in the Tizen SDK, the migration tool is used to convert your bada C++ application project to a Tizen native application project.

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, select the Enable the compatibility mode check box, and click Finish.

Page 6: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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 keyboard 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 are APIs and privileges those are removed or changed 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 B. Removed APIs

Page 7: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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. Test and repackage the application. Note: If you are using the Tizen Emulator for the first time, you must create a new emulator configuration in the Emulator Manager.

5. Register the upgraded application on the Tizen Store when the Tizen device is released.

Pay attention to the following issues during the system migration.

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, 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, 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 bada, which initializes all instances to zero. This implies 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, 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.6. 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 can cause 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, in which related APIs return E_INVALID_STATE.

1.1. System Migration

Page 8: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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.7. 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.8. 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.9. Application Installation Location

The OSP-compatible application is installed in the internal storage even if you intend to install it in the external storage.

1.1.10. Rapid Development Support

In the OSP-comppatible mode, the rapid development support doesn’t work.

1.1.11. Application Installation Location

The OSP-compatible application is installed in the internal storage even if you intend to install it in the external storage. And they cannot be moved to the external storage.

The policy for the /Share2 and /Home/Share2 directories has changed in Tizen. All applications can read or write

data in the Share2 directory.

In Tizen, the media directory has the read/write permission, unlike in bada, where it is read-only.

To ensure that the application UI is displayed correctly 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 sizes 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.2. File Management Migration

1.3. UI Migration

Page 9: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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). Since this is a valid in Tizen value, it can be used directly.

Once the width is defined, the height differs depending on the screen aspect ratio. Due to different height values, avoid specifying absolute coordinates, and instead use logical coordinates with the following methods:

GetBounds() for UI controls

GetClientAreaBounds() for Tizen::Ui::Controls::Form or Tizen::Ui::Controls::Popup

classes

WVGA Application Migration

To migrate a WVGA application and to optimize for HD, add new image files to the screen-density-xhigh folder.

You can load images classified as per the pixel density using the AppResource::GetBitmapN() method.

Page 10: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

Tip: To add image files using Windows Explorer:

1. Run the Windows Explorer.

2. Adding files for the extra high density screen to the res/screen-density-xhigh folder Create the folder

if it does not exist.

UI Control-related Problems

Since the HD screen height in logical coordinates is greater than the WVGA screen height, you must arrange UI controls independent of screen resolution. Use the layout manager to arrange UI controls optimally.

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 ensure that 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 a 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 an empty bottom area when they are displayed on an HD

screen. This problem 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 of the bounds.

Page 11: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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 2: Different client area bounds by screen size

If a 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.

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

Page 12: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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

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);

Page 13: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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 3: Migration when the footer has additional buttons

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 4: Migration when the footer only has Menu and Back buttons

Page 14: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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

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 asynchronous control drawing and screen update, the

Tizen::Ui::Show() method can be called to trigger UI drawing immediately.

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 this method several times for a single event , it can degrade 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. Since the UI framework cannot decide when to invoke the screen update, the application must perform the screen

update without UI framework intervention by using the Show() method.

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 5: UI changes from bada to Tizen

[bada control look] [Tizen control look]

Page 15: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

[bada header and footer] [Tizen header and footer]

The following sections describe the more prominent Tizen changes in detail.

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 6: The height of headers in Tizen 2.1

Figure 7: The height of headers in Tizen 2.2

Page 16: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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

in the available client area, and to add controls to the ScrollPanel.

Annex Location

The location of some annex styles (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 8: Annex location change

[bada check style]

[Tizen check style]

EditTime and EditDate

The EditTime and EditDate controls have a modified UI, and a new set-up for changing the current values.

Page 17: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

Figure 9: 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 is called TizenSans and is slightly larger and wider than the earlier font.

The font in the SDK and actual target device is not guaranteed to be the same and 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 is restricted inside the em-box which is a 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.

Figure 10: 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 the black or white theme, which cannot be changed by the user.

Most WVGA bada applications rely on a black themed UI control set, and HVGA bada applications rely on a

white-themed UI control set. By selecting the theme in the manifest.xml, the applications can continue to use the

theme similar to bada in order to minimize color-related cosmetic issues.

Page 18: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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.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 11: Tizen application icons

Some of your application features may require migration. Remove application features which have been deprecated in Tizen. If the removed feature is provided in another namespace or class, 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

Privilege

In Tizen, Tizen::App::AppControl::Start() requires the

http://tizen.org/privilege/application.launch privilege.

Sign-in AppControl

The following constants related to the Sign-in AppControl are removed.

Osp::App::APPCONTROL_SIGNIN

1.4. Feature Migration

Page 19: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

Osp::App::APPCONTROL_PROVIDER_SIGNIN

Osp::App::APPCONTROL_OPERATION_SIGNIN

Osp::App::OPERATION_SIGNIN

1.4.3. Ad Controls

The Osp::Ads::Controls namespace is removed. Alternative APIs will be provided in the near future.

1.4.4. Commerce

The Osp::Commerce::Store namespace is removed. Alternative APIs will be provided in the near future.

1.4.5. 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.6. 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.

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 Show() method cannot be operated properly.

BUG FIX: Constructor of Osp::Graphics::Bitmap by ByteBuffer

The ByteBuffer input parameter of the Osp::Graphics::Bitmap::Construct(const ByteBuffer&, …)

method must not change 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.7. Io

Osp::Io::File

The following methods are removed in Tizen:

Page 20: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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)

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 &regPath, long openMode, bool secureMode, long

option)

result Construct(const Osp::Base::String &regPath, long openMode, bool secureMode,

const Osp::Base::ByteBuffer &key, long option)

Instead of them, use the following method:

result Construct(const Tizen::Base::String &regPath, 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.

Page 21: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

1.4.8. 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.9. 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() method copies the input buffer to an internal buffer, for

the caller to reuse the input buffer after calling the WriteBuffer()method.

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 the

Tizen::Media::AudioOut::WriteBuffer()method, it may result in a jitter sound. If the caller deletes the input

buffer, then the application may crash.

Page 22: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

BUG FIX: Exception Handling in Osp::Media::Player::OpenXxx()

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, the upper methods do not return those exceptions.

1.4.10. Messaging

BUG FIX: Osp::Messaging::RecipientList::GetHashCode()

A bug that gives different hash values for the same instance is fixed.

1.4.11. 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.12. 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.13. 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.

Page 23: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

CalEvent (Osp::Social::CalEvent::SetCategory())

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.

Osp::Social::Calendarbook::GetEventInstances() and Osp::Social::Calendarbook::GetEventInstancesN()

In Tizen, the system limits the maximum number of recurring events generated by the event recurrence rule. If the ‘until’ property of the recurrence is set to a distant date as compared to the event’s start date, many recurring events are generated. This is the same when the value of 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.

Page 24: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

4. Replace existing ‘Tizen::Social::Services’ instances with ‘Samsung::SnsGateway’.

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.14. System

Battery

The Osp::System::Battery class that provides the battery status is deprecated in Tizen. Use the

Tizen::System::PowerManager class instead.

RuntimeInfo, SettingInfo, and SystemInfo

In bada, the CamelCase format is used for the express element. In Tizen, the IRI format is used. For more detailed key list, see “Tizen Native App Programming > Programming Guide > System: Getting System Information and Using Alarms”.

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 my 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 takes 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::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

Page 25: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

control gets attached to the internal tree, and the GetCanvasN() method works after the OnInitializing() event

handler is called.

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) and Text-To-Speech (TTS)

The following classes and related enumerations are removed. For the 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

Page 26: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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 OSP-compatible Tizen native applications.

The Tizen IDE adds mainmenu.png the 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. 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.3. 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 1: 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

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

A.1. Icon Size

A.4. Header File Name Changes

Page 27: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

FBaseRtThreadMonitor.h -> FBase.h

FBaseRtThreadMutex.h -> FBase.h

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

A.5. Tizen Namespace

Page 28: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

The Osp namespace is changed to the Tizen namespace.

Page 29: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen Application

Except as noted, this content is licensed under Creative Commons Attribution 3.0. For details, see the Content License.

29| Page

Appendix B. Removed APIs

Namespace Class Method

Osp::Ads All classes -

Osp::App Osp::App::AppType

Osp::App::Application Osp::App::GetAppSecret(void)

Osp::App::IPackageEventListener

Osp::App::IPackageEventListener::OnPackageInstallCompleted(const

Osp::Base::String&, Osp::App::PackageManager::PackageType,

Osp::App::PackageErrorType)

Osp::App::IPackageEventListener

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::ContentManagerUtil Osp::Content::ContentManagerUtil::DeleteContentInfo(Osp::Base::String)

Osp::Content::ContentManagerUtil

Osp::Content::ContentManagerUtil::GetContentFileSize(Osp::Content::ContentType,

Osp::Base::String)

Osp::Content::ContentManagerUtil Osp::Content::ContentManagerUtil::GetContentType(Osp::Base::String)

Osp::Content::ContentManagerUtil Osp::Content::ContentManagerUtil::GetSystemAudioMetaN(Osp::Base::String)

Osp::Content::ContentManagerUtil Osp::Content::ContentManagerUtil::GetSystemImageMetaN(Osp::Base::String)

Osp::Content::ContentManagerUtil Osp::Content::ContentManagerUtil::GetSystemVideoMetaN(Osp::Base::String)

Osp::Content::ContentManagerUtil Osp::Content::ContentManagerUtil::IsContentCreated(Osp::Base::String)

Osp::Content::ContentManagerUtil Osp::Content::ContentManagerUtil::RegisterDirectory(Osp::Base::String)

Osp::Content::ContentTransfer

Osp::Content::ContentTransfer::OmaDownload(Osp::Content::DownloadDescriptor,

Osp::Base::String, bool, RequestId, Osp::Content::IContentTransferListener, int)

Osp::Content::ContentTransfer

Osp::Content::ContentTransfer::Upload(Osp::Base::String, Osp::Base::String,

bool, Osp::Base::Utility::Uri, RequestId)

Osp::Content::ContentTransferInfo Osp::Content::ContentTransferInfo::GetContentTransferType(void)

Osp::Content::ContentTransferInfo Osp::Content::ContentTransferInfo::GetDownloadDescriptor(void)

Page 30: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

Osp::Content::ContentTransferInfo Osp::Content::ContentTransferInfo::GetSourcePath(void)

Osp::Content::ContentTransferInfo

Osp::Content::ContentTransferInfo::SetContentTransferStatus(Osp::Content::Conte

ntTransferStatus)

Osp::Content::DownloadDescriptor Osp::Content::DownloadDescriptor::~DownloadDescriptor(void)

Osp::Content::DownloadDescriptor Osp::Content::DownloadDescriptor::DownloadDescriptor(void)

Osp::Content::DownloadDescriptor

Osp::Content::DownloadDescriptor::DownloadDescriptor(Osp::Content::DownloadDesc

riptor)

Osp::Content::DownloadDescriptor Osp::Content::DownloadDescriptor::GetDescription(void)

Osp::Content::DownloadDescriptor

Osp::Content::DownloadDescriptor::GetField(Osp::Content::DownloadDescriptorFiel

d)

Osp::Content::DownloadDescriptor Osp::Content::DownloadDescriptor::GetName(void)

Osp::Content::DownloadDescriptor Osp::Content::DownloadDescriptor::GetSize(void)

Osp::Content::DownloadDescriptor Osp::Content::DownloadDescriptor::GetType(void)

Osp::Content::DownloadDescriptor Osp::Content::DownloadDescriptor::operator=(Osp::Content::DownloadDescriptor)

Osp::Content::DownloadDescriptor Osp::Content::DownloadDescriptor::ParseString(Osp::Base::String)

Osp::Content::IContentTransferList

ener

Osp::Content::IContentTransferListener::OnContentUploadCompleted(RequestId,

result, Osp::Base::String, Osp::Base::String)

Osp::Content::IContentTransferList

ener

Osp::Content::IContentTransferListener::OnDownloadDescriptorReceived(RequestId,

Osp::Content::DownloadDescriptor)

Osp::Content::IRemoteContentManage

rListener

Osp::Content::IRemoteContentManagerListener::OnContentCreated(RequestId,

Osp::Base::String, result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentManage

rListener

Osp::Content::IRemoteContentManagerListener::OnContentDeleted(RequestId, result,

Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentManage

rListener

Osp::Content::IRemoteContentManagerListener::OnContentInfoReceivedN(RequestId,

Osp::Content::RemoteContentInfo, result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentManage

rListener

Osp::Content::IRemoteContentManagerListener::OnContentStatusReceived(RequestId,

Osp::Content::RemoteContentStatus, result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentManage

rListener

Osp::Content::IRemoteContentManagerListener::OnContentUpdated(RequestId, result,

Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentSearch

Listener

Osp::Content::IRemoteContentSearchListener::OnCategoriesReceivedN(RequestId,

Osp::Base::Collection::IList, result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentSearch

Listener

Osp::Content::IRemoteContentSearchListener::OnContentTypesReceivedN(RequestId,

Osp::Base::Collection::IList, result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentSearch

Listener

Osp::Content::IRemoteContentSearchListener::OnRemoteContentSearchResultReceived

N(RequestId, Osp::Base::Collection::IList, int, int, int, int, result,

Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentSharin

gListener

Osp::Content::IRemoteContentSharingListener::OnAddUsersToAclReceived(RequestId,

result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentSharin Osp::Content::IRemoteContentSharingListener::OnGetAccessLevelReceived(RequestId

Page 31: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

gListener , Osp::Social::Services::AccessLevel, result, Osp::Base::String,

Osp::Base::String)

Osp::Content::IRemoteContentSharin

gListener

Osp::Content::IRemoteContentSharingListener::OnGetUsersInAclReceivedN(RequestId

, Osp::Base::Collection::IList, result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentSharin

gListener

Osp::Content::IRemoteContentSharingListener::OnRemoveAllUsersFromAclReceived(Re

questId, result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentSharin

gListener

Osp::Content::IRemoteContentSharingListener::OnRemoveUsersFromAclReceived(Reque

stId, result, Osp::Base::String, Osp::Base::String)

Osp::Content::IRemoteContentSharin

gListener

Osp::Content::IRemoteContentSharingListener::OnSetAccessLevelReceived(RequestId

, result, Osp::Base::String, Osp::Base::String)

Osp::Content::RemoteCategory Osp::Content::RemoteCategory::~RemoteCategory(void)

Osp::Content::RemoteCategory Osp::Content::RemoteCategory::GetId(void)

Osp::Content::RemoteCategory Osp::Content::RemoteCategory::GetName(void)

Osp::Content::RemoteCategory Osp::Content::RemoteCategory::GetParentId(void)

Osp::Content::RemoteCategory Osp::Content::RemoteCategory::HasChildCategory(void)

Osp::Content::RemoteCategory Osp::Content::RemoteCategory::RemoteCategory(Osp::Content::RemoteCategory)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::~RemoteContentInfo(void)

Osp::Content::RemoteContentInfo

Osp::Content::RemoteContentInfo::Construct(Osp::Base::String,

Osp::Base::Utility::Uri, int, Osp::Base::Utility::Uri, int)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetAdditionalAttributes(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetAuthor(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetCategory(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetContentId(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetContentName(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetContentPath(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetContentSize(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetContentType(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetDateTime(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetDescription(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetKeyword(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetLanguage(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetProvider(void)

Page 32: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetRating(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetShortDescription(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetStatus(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetThumbnailPath(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetThumbnailSize(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::GetUserId(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::IsDrmProtected(void)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::RemoteContentInfo(void)

Osp::Content::RemoteContentInfo

Osp::Content::RemoteContentInfo::RemoteContentInfo(Osp::Content::RemoteContentI

nfo)

Osp::Content::RemoteContentInfo

Osp::Content::RemoteContentInfo::SetAdditionalAttributes(Osp::Base::Collection:

:IMap)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetAuthor(Osp::Base::String)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetCategory(Osp::Base::String)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetContentName(Osp::Base::String)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetDescription(Osp::Base::String)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetDrmProtected(bool)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetKeyword(Osp::Base::String)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetLanguage(Osp::Base::String)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetProvider(Osp::Base::String)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetRating(Osp::Base::String)

Osp::Content::RemoteContentInfo Osp::Content::RemoteContentInfo::SetShortDescription(Osp::Base::String)

Osp::Content::RemoteContentManager Osp::Content::RemoteContentManager::~RemoteContentManager(void)

Osp::Content::RemoteContentManager

Osp::Content::RemoteContentManager::Construct(Osp::Content::IRemoteContentManag

erListener)

Osp::Content::RemoteContentManager

Osp::Content::RemoteContentManager::CreateContent(Osp::Content::RemoteContentIn

fo, RequestId)

Osp::Content::RemoteContentManager Osp::Content::RemoteContentManager::DeleteContent(Osp::Base::String, RequestId)

Osp::Content::RemoteContentManager Osp::Content::RemoteContentManager::GetContentInfo(Osp::Base::String, RequestId)

Osp::Content::RemoteContentManager

Osp::Content::RemoteContentManager::GetContentStatus(Osp::Base::String,

RequestId)

Page 33: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

Osp::Content::RemoteContentManager Osp::Content::RemoteContentManager::RemoteContentManager(void)

Osp::Content::RemoteContentManager

Osp::Content::RemoteContentManager::UpdateContent(Osp::Content::RemoteContentIn

fo, RequestId)

Osp::Content::RemoteContentSearch Osp::Content::RemoteContentSearch::~RemoteContentSearch(void)

Osp::Content::RemoteContentSearch

Osp::Content::RemoteContentSearch::Construct(Osp::Content::IRemoteContentSearch

Listener)

Osp::Content::RemoteContentSearch

Osp::Content::RemoteContentSearch::GetCategoryList(RequestId,

Osp::Content::RemoteCategory)

Osp::Content::RemoteContentSearch Osp::Content::RemoteContentSearch::GetContentTypeList(RequestId)

Osp::Content::RemoteContentSearch Osp::Content::RemoteContentSearch::RemoteContentSearch(void)

Osp::Content::RemoteContentSearch

Osp::Content::RemoteContentSearch::Search(Osp::Base::String, RequestId, int, int,

Osp::Base::Collection::IList, Osp::Base::String, Osp::Base::SortOrder)

Osp::Content::RemoteContentSharing Osp::Content::RemoteContentSharing::~RemoteContentSharing(void)

Osp::Content::RemoteContentSharing

Osp::Content::RemoteContentSharing::AddUsersToAcl(Osp::Base::String,

Osp::Base::Collection::IList, RequestId)

Osp::Content::RemoteContentSharing

Osp::Content::RemoteContentSharing::Construct(Osp::Content::IRemoteContentShari

ngListener)

Osp::Content::RemoteContentSharing Osp::Content::RemoteContentSharing::GetAccessLevel(Osp::Base::String, RequestId)

Osp::Content::RemoteContentSharing Osp::Content::RemoteContentSharing::GetUsersInAcl(Osp::Base::String, RequestId)

Osp::Content::RemoteContentSharing Osp::Content::RemoteContentSharing::RemoteContentSharing(void)

Osp::Content::RemoteContentSharing

Osp::Content::RemoteContentSharing::RemoveAllUsersFromAcl(Osp::Base::String,

RequestId)

Osp::Content::RemoteContentSharing

Osp::Content::RemoteContentSharing::RemoveUsersFromAcl(Osp::Base::String,

Osp::Base::Collection::IList, RequestId)

Osp::Content::RemoteContentSharing

Osp::Content::RemoteContentSharing::SetAccessLevel(Osp::Base::String,

Osp::Social::Services::AccessLevel, RequestId)

Osp::Io Osp::Io::ChannelManager Osp::Io::ChannelManager::SetChannelEventListener(const

Osp::Io::IChannelEventListener)

Osp::Io::IChannelEventListener

Osp::Io::IChannelEventListener::OnChannelCreated(const Osp::App::AppId&,

Osp::Io::ChannelType)

Osp::Io::IChannelEventListener

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::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::ConvertToSecureFile(const Osp::Base::String&, const

Osp::Base::String&)

Page 34: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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::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::DrmConstraintInfo Osp::Media::DrmConstraintInfo::~DrmConstraintInfo(void)

Osp::Media::DrmConstraintInfo Osp::Media::DrmConstraintInfo::DrmConstraintInfo(void)

Osp::Media::DrmConstraintInfo Osp::Media::DrmConstraintInfo::GetAccumulatedTime(void)

Osp::Media::DrmConstraintInfo Osp::Media::DrmConstraintInfo::GetEndTime(void)

Osp::Media::DrmConstraintInfo Osp::Media::DrmConstraintInfo::GetInterval(void)

Osp::Media::DrmConstraintInfo Osp::Media::DrmConstraintInfo::GetLeftCounter(void)

Osp::Media::DrmConstraintInfo Osp::Media::DrmConstraintInfo::GetOriginalCounter(void)

Osp::Media::DrmConstraintInfo Osp::Media::DrmConstraintInfo::GetStartTime(void)

Osp::Media::DrmConstraintInfo 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::DrmPermissionType,

Osp::Media::DrmConstraintInfo&)

Page 35: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

Osp::Media::DrmInfo Osp::Media::DrmInfo::GetDrmMethodType(void)

Osp::Media::DrmInfo

Osp::Media::DrmInfo::GetDrmRightStatus(Osp::Media::DrmPermissionType,

Osp::Media::DrmRightStatus&)

Osp::Media::DrmInfo Osp::Media::DrmInfo::GetDrmType(void)

Osp::Media::DrmInfo Osp::Media::DrmInfo::IsDrmFile(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::AdhocPeerInfo Osp::Net::Wifi::AdhocPeerInfo::~AdhocPeerInfo(void)

Osp::Net::Wifi::AdhocPeerInfo Osp::Net::Wifi::AdhocPeerInfo::AdhocPeerInfo(void)

Osp::Net::Wifi::AdhocPeerInfo Osp::Net::Wifi::AdhocPeerInfo::GetAddress(void)

Osp::Net::Wifi::AdhocPeerInfo Osp::Net::Wifi::AdhocPeerInfo::GetName(void)

Osp::Net::Wifi::AdhocPeerInfo Osp::Net::Wifi::AdhocPeerInfo::GetUpdatedTime()

Osp::Net::Wifi::AdhocPeerInfo Osp::Net::Wifi::AdhocPeerInfo::SetAddress(Osp::Net::IpAddress)

Osp::Net::Wifi::AdhocPeerInfo Osp::Net::Wifi::AdhocPeerInfo::SetName(Osp::Base::String)

Osp::Net::Wifi::AdhocPeerInfo Osp::Net::Wifi::AdhocPeerInfo::SetUpdatedTime(Osp::Base::DateTime)

Osp::Net::Wifi::AdhocService Osp::Net::Wifi::AdhocService::~AdhocService(void)

Osp::Net::Wifi::AdhocService

Osp::Net::Wifi::AdhocService::AdhocService(const

Osp::Net::Wifi::IAdhocServiceEventListener&)

Osp::Net::Wifi::AdhocService Osp::Net::Wifi::AdhocService::GetNeighborsN(void)

Osp::Net::Wifi::AdhocService Osp::Net::Wifi::AdhocService::SendBroadcastMessage(const Osp::Base::String&)

Osp::Net::Wifi::AdhocService

Osp::Net::Wifi::AdhocService::SendUnicastMessage(const Osp::Base::String&, const

Osp::Base::String&)

Osp::Net::Wifi::AdhocService

Osp::Net::Wifi::AdhocService::SendUnicastMessage(const Osp::Net::IpAddress&,

const Osp::Base::String&)

Osp::Net::Wifi::AdhocService Osp::Net::Wifi::AdhocService::SetPeerName(const Osp::Base::String&)

Page 36: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

Osp::Net::Wifi::AdhocService

Osp::Net::Wifi::AdhocService::StartAdhocService(const Osp::Base::String&, const

Osp::Base::String&, Osp::Net::Wifi::WifiRadioChannel, bool)

Osp::Net::Wifi::AdhocService Osp::Net::Wifi::AdhocService::StopAdhocService(void)

Osp::Net::Wifi::IAdhocServiceEvent

Listener Osp::Net::Wifi::IAdhocServiceEventListener::~IAdhocServiceEventListener(void)

Osp::Net::Wifi::IAdhocServiceEvent

Listener

Osp::Net::Wifi::IAdhocServiceEventListener::OnAdhocServiceStarted(const

Osp::Net::NetConnection, result)

Osp::Net::Wifi::IAdhocServiceEvent

Listener Osp::Net::Wifi::IAdhocServiceEventListener::OnAdhocServiceStopped(result)

Osp::Net::Wifi::IAdhocServiceEvent

Listener

Osp::Net::Wifi::IAdhocServiceEventListener::OnMessageReceived(const

Osp::Base::String&, const Osp::Base::String&)

Osp::Net::Wifi::WifiDirectGroupInf

o Osp::Net::Wifi::WifiDirectGroupInfo::SetSsid(const Osp::Base::String& ssid)

Osp::Security Osp::Security::Cert::X509Certifica

tePathValidationParameter All APIs

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::~Rc5Cipher(void)

Osp::Security::Crypto::Rc5Cipher

Osp::Security::Crypto::Rc5Cipher::Construct(const Osp::Base::String&, enum

CipherOperation)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::DecryptN(const Osp::Base::ByteBuffer&)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::EncryptN(const Osp::Base::ByteBuffer&)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::FinalizeN(void)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::Initialize(void)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::Rc5Cipher(void)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::SetInitialVector(const Osp::Base::ByteBuffer&)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::SetKey(const Osp::Security::ISecretKey&)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::UnwrapN(const Osp::Base::ByteBuffer&)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::UpdateN(const Osp::Base::ByteBuffer&)

Osp::Security::Crypto::Rc5Cipher Osp::Security::Crypto::Rc5Cipher::WrapN(const Osp::Base::ByteBuffer&)

Osp::Social - MIN_USER_ID_QUERY_LENGTH

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::Calendarbook::GetEventIdsN(unsigned long category)

Osp::Social::Calendarbook Osp::Social::Calendarbook::GetEventInstances(const Osp::Base::DateTime&, const

Page 37: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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::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::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(HapticDeviceCapabilityTypes, int&) const

Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceCapability(HapticDeviceCapabilityTypes,

Osp::Base::String&) const

Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceCount(void) const

Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceProperty(HapticDevicePropertyTypes, bool&) const

Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceProperty(HapticDevicePropertyTypes, int&) const

Osp::Uix::Haptic Osp::Uix::Haptic::GetDeviceProperty(HapticDevicePropertyTypes,

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,

Page 38: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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(HapticDevicePropertyTypes, int)

Osp::Uix::Haptic Osp::Uix::Haptic::SetDeviceProperty(HapticDevicePropertyTypes, const

Osp::Base::String&)

Osp::Uix::Haptic Osp::Uix::Haptic::SetDeviceProperty(HapticDevicePropertyTypes, 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::HapticMagSweepEffect -

Osp::Uix::HapticPeriodicEffect -

Osp::Uix::CurrentWeather Osp::Uix::CurrentWeather::CurrentWeather(void)

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)

Page 39: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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::IWeatherEventListener Osp::Uix::IWeatherEventListener::OnCurrentWeatherReceived(CurrentWeather&,

result)

Osp::Uix::IWeatherEventListener Osp::Uix::IWeatherEventListener::OnWeatherForecastReceived(Osp::Base::Collectio

n::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

Page 40: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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::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)

Page 41: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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

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&)

Osp::Uix::TextToSpeech Osp::Uix::TextToSpeech::SetSpeechRate(TextToSpeechSpeechRate)

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::ISpeechToTextEventListen

er

Osp::Uix::ISpeechToTextEventListener::OnSpeechToTextCompleted(Osp::Base::String

&, SpeechToTextWarning)

Osp::Uix::ISpeechToTextEventListen

er

Osp::Uix::ISpeechToTextEventListener::OnSpeechToTextErrorOccurred(SpeechToTextE

rror)

Osp::Uix::ISpeechToTextEventListen

er

Osp::Uix::ISpeechToTextEventListener::OnSpeechToTextInitialized(void)

Osp::Uix::ISpeechToTextEventListen

er

Osp::Uix::ISpeechToTextEventListener::OnSpeechToTextRecordingStatusChanged(Spee

chToTextRecordingStatus)

Osp::Uix::ISpeechToTextEventListen

er

Osp::Uix::ISpeechToTextEventListener::~ISpeechToTextEventListener(void)

Osp::Uix::ITextToSpeechEventListen

er

Osp::Uix::ITextToSpeechEventListener::OnTextToSpeechErrorOccurred(TextToSpeechE

rror)

Osp::Uix::ITextToSpeechEventListen

er

Osp::Uix::ITextToSpeechEventListener::OnTextToSpeechStatusChanged(TextToSpeechS

tatus)

Osp::Uix::ITextToSpeechEventListen

er

Osp::Uix::ITextToSpeechEventListener::~ITextToSpeechEventListener(void)

Page 42: (version 2.0) to an OSP-compatible Tizen native application

Application Migration Guide - bada C++ Application with bada 2.0 to OSP-compatible Tizen 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::Web Osp::Web::Controls::PageNavigation

List Osp::Web::Controls::PageNavigationList::CreateInstanceN(void)

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)