[ComponentManager] Change namespace (#989)
authorhjhun <36876573+hjhun@users.noreply.github.com>
Fri, 30 Aug 2019 06:34:30 +0000 (15:34 +0900)
committerpjh9216 <jh9216.park@samsung.com>
Fri, 30 Aug 2019 06:34:30 +0000 (15:34 +0900)
Namespace is changed to 'Tizen.Applications.ComponentBased'.

16 files changed:
src/Tizen.Applications.ComponentBased.ComponentManager/Interop/Interop.ComponentManager.cs [new file with mode: 0755]
src/Tizen.Applications.ComponentBased.ComponentManager/Interop/Interop.Libraries.cs [new file with mode: 0755]
src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications.ComponentBased.ComponentManager.csproj [new file with mode: 0755]
src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications.ComponentBased.ComponentManager.sln [new file with mode: 0755]
src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentInfo.cs [new file with mode: 0755]
src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentManager.cs [new file with mode: 0755]
src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentRunningContext.cs [new file with mode: 0755]
src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentType.cs [new file with mode: 0755]
src/Tizen.Applications.ComponentManager/Interop/Interop.ComponentManager.cs [deleted file]
src/Tizen.Applications.ComponentManager/Interop/Interop.Libraries.cs [deleted file]
src/Tizen.Applications.ComponentManager/Tizen.Applications.ComponentManager.csproj [deleted file]
src/Tizen.Applications.ComponentManager/Tizen.Applications.ComponentManager.sln [deleted file]
src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentInfo.cs [deleted file]
src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentManager.cs [deleted file]
src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentRunningContext.cs [deleted file]
src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentType.cs [deleted file]

diff --git a/src/Tizen.Applications.ComponentBased.ComponentManager/Interop/Interop.ComponentManager.cs b/src/Tizen.Applications.ComponentBased.ComponentManager/Interop/Interop.ComponentManager.cs
new file mode 100755 (executable)
index 0000000..0ca3c22
--- /dev/null
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Runtime.InteropServices;
+
+internal static partial class Interop
+{
+    internal static partial class ComponentManager
+    {
+        internal enum ErrorCode
+        {
+            None = Tizen.Internals.Errors.ErrorCode.None,
+            InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter,
+            OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory,
+            IoError = Tizen.Internals.Errors.ErrorCode.IoError,
+            NoSuchComponent = -0x03040000 | 0x01,
+            DbFailed = -0x03040000 | 0x03,
+            InvalidApplication = -0x03040000 | 0x04,
+            NotRunning = -0x03040000 | 0x05,
+            LabelNotFound = -0x03040000 | 0x06,
+            PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied
+        }
+
+        internal enum ComponentInfoComponentType
+        {
+            Frame = 0,
+            Service = 1
+        }
+
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        internal delegate bool ComponentManagerComponentContextCallback(IntPtr handle, IntPtr userData);
+        // bool (*component_manager_component_context_cb)(component_context_h handle, void *user_data);
+
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+        internal delegate bool ComponentManagerComponentInfoCallback(IntPtr handle, IntPtr userData);
+        // bool (*component_manager_component_info_cb)(component_info_h handle, void *user_data);
+               
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_foreach_component_context")]
+        internal static extern ErrorCode ComponentManagerForeachComponentContext(ComponentManagerComponentContextCallback callback, IntPtr userData);
+        // int component_manager_foreach_component_context(component_manager_component_context_cb callback, void *user_data)
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_foreach_component_info")]
+        internal static extern ErrorCode ComponentManagerForeachComponentInfo(ComponentManagerComponentInfoCallback callback, IntPtr userData);
+        // int component_manager_foreach_component_info(component_manager_component_info_cb callback, void *user_data)
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_get_component_context")]
+        internal static extern ErrorCode ComponentManagerGetComponentContext(string componentId, out IntPtr handle);
+        // int component_manager_get_component_context(const char *comp_id, component_context_h *handle);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_get_component_info")]
+        internal static extern ErrorCode ComponentManagerGetComponentInfo(string componentId, out IntPtr handle);
+        // int component_manager_get_component_info(const char *comp_id, component_info_h *handle);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_is_running")]
+        internal static extern ErrorCode ComponentManagerIsRunning(string componentId, out bool running);
+        // int component_manager_is_running(const char *appid, bool *running);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_resume_component")]
+        internal static extern ErrorCode ComponentManagerResumeComponent(IntPtr handle);
+        // int component_manager_resume_component(component_context_h handle);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_terminate_bg_component")]
+        internal static extern ErrorCode ComponentManagerTerminateBgComponent(IntPtr handle);
+        // int component_manager_terminate_bg_component (component_context_h handle);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_pause_component")]
+        internal static extern ErrorCode ComponentManagerPauseComponent(IntPtr handle);
+        // int component_manager_pause_component(component_context_h handle);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_terminate_component")]
+        internal static extern ErrorCode ComponentManagerTerminateComponent(IntPtr handle);
+        // int component_manager_terminate_component(component_context_h handle);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_destroy")]
+        internal static extern ErrorCode ComponentContextDestroy(IntPtr handle);
+        // int component_context_destroy(component_context_h handle)
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_get_app_id")]
+        internal static extern ErrorCode ComponentContextGetAppId(IntPtr handle, out string applicationId);
+        // int component_context_get_app_id(component_context_h handle, char **app_id)
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_get_component_id")]
+        internal static extern ErrorCode ComponentContextGetComponentId(IntPtr handle, out string componentId);
+        // int component_context_get_component_id(component_context_h handle, char **component_id)
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_get_instance_id")]
+        internal static extern ErrorCode ComponentContextGetInstanceId(IntPtr handle, out string instanceId);
+        // int component_context_get_instance_id(component_context_h handle, char **instance_id)
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_get_component_state")]
+        internal static extern ErrorCode ComponentContextGetComponentState(IntPtr handle, out int state);
+        // int component_context_get_component_state(component_context_h handle, component_state_e *state)
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_is_terminated")]
+        internal static extern ErrorCode ComponentContextIsTerminated(IntPtr handle, out bool terminated);
+        // int component_context_is_terminated(component_context_h handle, bool *terminated);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_is_subcomponent")]
+        internal static extern ErrorCode ComponentContextIsSubComponent(IntPtr handle, out bool is_subcomponent);
+        // int component_context_is_subcomponent(component_context_h handle, bool *is_subcomponent);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_clone")]
+        internal static extern ErrorCode ComponentContextClone(out IntPtr destination, IntPtr source);
+        // int component_context_clone(component_context_h *clone, component_context_h handle);
+        
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_create")]
+        internal static extern ErrorCode ComponentInfoCreate(string componentId, out IntPtr handle);
+        // int component_info_create(const char *component_id, component_info_h *handle);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_destroy")]
+        internal static extern ErrorCode ComponentInfoDestroy(IntPtr handle);
+        // int component_info_destroy(component_info_h handle);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_app_id")]
+        internal static extern ErrorCode ComponentInfoGetAppId(IntPtr handle, out string applicationId);
+        // int component_info_get_app_id(component_info_h handle, char **app_id);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_component_id")]
+        internal static extern ErrorCode ComponentInfoGetComponentId(IntPtr handle, out string componentId);
+        // int component_info_get_component_id(component_info_h handle, char **component_id);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_component_type")]
+        internal static extern ErrorCode ComponentInfoGetComponentType(IntPtr handle, out ComponentInfoComponentType type);
+        // int component_info_get_component_type(component_info_h handle, component_info_component_type_e *type);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_is_icon_display")]
+        internal static extern ErrorCode ComponentInfoIsIconDisplay(IntPtr handle, out bool iconDisplay);
+        // int component_info_is_icon_display(component_info_h handle, bool *icon_display);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_is_managed_by_task_manager")]
+        internal static extern ErrorCode ComponentInfoIsManagedByTaskManager(IntPtr handle, out bool managed);
+        // int component_info_is_managed_by_task_manager(component_info_h handle, bool *managed);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_icon")]
+        internal static extern ErrorCode ComponentInfoGetIcon(IntPtr handle, out string icon);
+        // int component_info_get_icon(component_info_h handle, char **icon);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_label")]
+        internal static extern ErrorCode ComponentInfoGetLabel(IntPtr handle, out string label);
+        // int component_info_get_label(component_info_h handle, char **label);
+
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_localized_label")]
+        internal static extern ErrorCode ComponentInfoGetLocalizedLabel(IntPtr handle, string locale, out string label);
+        // int component_info_get_localized_label(component_info_h handle, const char *locale, char **label);
+        
+        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_clone")]
+        internal static extern ErrorCode ComponentInfoClone(out IntPtr destination, IntPtr source);
+        // int component_info_clone(component_info_h *clone, component_info_h handle);
+    }
+}
diff --git a/src/Tizen.Applications.ComponentBased.ComponentManager/Interop/Interop.Libraries.cs b/src/Tizen.Applications.ComponentBased.ComponentManager/Interop/Interop.Libraries.cs
new file mode 100755 (executable)
index 0000000..a793dd3
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+internal static partial class Interop
+{
+    internal static partial class Libraries
+    {
+        public const string ComponentManager = "libcapi-appfw-component-manager.so.1";
+    }
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications.ComponentBased.ComponentManager.csproj b/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications.ComponentBased.ComponentManager.csproj
new file mode 100755 (executable)
index 0000000..4c51c41
--- /dev/null
@@ -0,0 +1,12 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\Tizen\Tizen.csproj" />
+    <ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
+  </ItemGroup>
+
+</Project>
\ No newline at end of file
diff --git a/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications.ComponentBased.ComponentManager.sln b/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications.ComponentBased.ComponentManager.sln
new file mode 100755 (executable)
index 0000000..aa76b61
--- /dev/null
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.271
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.ComponentBased.ComponentManager", "Tizen.Applications.ComponentBased.ComponentManager.csproj", "{0C733CDC-EE90-42CE-9083-87FC55EF91DA}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|Any CPU = Debug|Any CPU
+               Release|Any CPU = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {0C733CDC-EE90-42CE-9083-87FC55EF91DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0C733CDC-EE90-42CE-9083-87FC55EF91DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0C733CDC-EE90-42CE-9083-87FC55EF91DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0C733CDC-EE90-42CE-9083-87FC55EF91DA}.Release|Any CPU.Build.0 = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+               SolutionGuid = {7166CBA3-05BB-413B-9DA4-5F0A408AFA36}
+       EndGlobalSection
+EndGlobal
diff --git a/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentInfo.cs b/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentInfo.cs
new file mode 100755 (executable)
index 0000000..16805c4
--- /dev/null
@@ -0,0 +1,260 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+
+namespace Tizen.Applications.ComponentBased
+{
+    /// <summary>
+    /// This class provides methods and properties to get information of the component.
+    /// </summary>
+    /// <since_tizen> 6 </since_tizen>
+    public class ComponentInfo : IDisposable
+    {
+        private const string LogTag = "Tizen.Applications";
+        private bool _disposed = false;
+        private IntPtr _infoHandle = IntPtr.Zero;
+        private string _componentId = string.Empty;
+
+        internal ComponentInfo(IntPtr infoHandle)
+        {
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetComponentId(infoHandle, out _componentId);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Invalid native handle.");
+            }
+            _infoHandle = infoHandle;
+        }
+
+        /// <summary>
+        /// A constructor of ComponentInfo that takes the component ID.
+        /// </summary>
+        /// <param name="componentId">Component ID.</param>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>>
+        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+        /// <since_tizen> 6 </since_tizen>
+        public ComponentInfo(string componentId)
+        {
+            _componentId = componentId;
+            IntPtr infoHandle = IntPtr.Zero;
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoCreate(_componentId, out infoHandle);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to create the ComponentInfo.");
+            }
+            _infoHandle = infoHandle;
+        }
+
+        /// <summary>
+        /// Destructor of the class.
+        /// </summary>
+        ~ComponentInfo()
+        {
+            Dispose(false);
+        }
+
+        /// <summary>
+        /// Gets the component ID.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public string ComponentId
+        {
+            get
+            {
+                if (!string.IsNullOrEmpty(_componentId))
+                    return _componentId;
+
+                string compId = string.Empty;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetComponentId(_infoHandle, out compId);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the ComponentId. err = " + err);
+                }
+                _componentId = compId;
+
+                return _componentId;
+            }
+        }
+
+        /// <summary>
+        /// Gets the application ID of the component.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public string ApplicationId
+        {
+            get
+            {
+                string appId = string.Empty;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetAppId(_infoHandle, out appId);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the ApplicationId of " + _componentId + ". err = " + err);
+                }
+
+                return appId;
+            }
+        }
+
+        /// <summary>
+        /// Gets the type of the component.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public ComponentType ComponentType
+        {
+            get
+            {
+                Interop.ComponentManager.ComponentInfoComponentType type = 0;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetComponentType(_infoHandle, out type);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the Type of " + _componentId + ". err = " + err);
+                }
+
+                return (ComponentType)type;
+            }
+        }
+
+        /// <summary>
+        /// Checks whether the icon of the component should be displayed or not.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public bool IsIconDisplayed
+        {
+            get
+            {
+                bool iconDisplay = false;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoIsIconDisplay(_infoHandle, out iconDisplay);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the IsIconDisplay of " + _componentId + ". err = " + err);
+                }
+
+                return iconDisplay;
+            }
+        }
+
+        /// <summary>
+        /// Checks whether the component should be managed by task-manager or not.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public bool IsManagedByTaskManager
+        {
+            get
+            {
+                bool managed = false;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoIsManagedByTaskManager(_infoHandle, out managed);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the IsManagedByTaskManager of " + _componentId + ". err = " + err);
+                }
+
+                return managed;
+            }
+        }
+
+        /// <summary>
+        /// Gets the absolute path of the icon image.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public string IconPath
+        {
+            get
+            {
+                string path = string.Empty;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetIcon(_infoHandle, out path);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the IconPath of " + _componentId + ". err = " + err);
+                }
+
+                return path;
+            }
+        }
+
+        /// <summary>
+        /// Gets the label of the component.
+        /// </summary>
+        public string Label
+        {
+            get
+            {
+                string label = string.Empty;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetLabel(_infoHandle, out label);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the Label of " + _componentId + ". err = " + err);
+                }
+
+                return label;
+            }
+        }
+
+        /// <summary>
+        /// Gets the localized label of the component for the given locale.
+        /// </summary>
+        /// <param name="locale">Locale.</param>
+        /// <remarks>The format of locale is language and country code. (available value: "[2-letter lowercase language code (ISO 639-1)]-[2-letter lowercase country code (ISO 3166-alpha-2)]")</remarks>
+        /// <returns>The localized label.</returns>
+        /// <since_tizen> 6 </since_tizen>
+        public string GetLocalizedLabel(string locale)
+        {
+            string label = string.Empty;
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetLocalizedLabel(_infoHandle, locale, out label);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                Log.Warn(LogTag, "Failed to get the GetLocalizedLabel of " + _componentId + ". err = " + err);
+                label = Label;
+            }
+            return label;
+        }
+
+        /// <summary>
+        /// Releases all resources used by the ComponentInfo class.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public void Dispose()
+        {
+            Dispose(true);
+            GC.SuppressFinalize(this);
+        }
+
+        /// <summary>
+        /// Releases all resources used by the ComponentInfo class.
+        /// </summary>
+        /// <param name="disposing">Disposing</param>
+        /// <since_tizen> 6 </since_tizen>
+        private void Dispose(bool disposing)
+        {
+            if (_disposed)
+                return;
+
+            if (disposing)
+            {
+            }
+
+            if (_infoHandle != IntPtr.Zero)
+            {
+                Interop.ComponentManager.ComponentInfoDestroy(_infoHandle);
+                _infoHandle = IntPtr.Zero;
+            }
+            _disposed = true;
+        }
+    }
+}
diff --git a/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentManager.cs b/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentManager.cs
new file mode 100755 (executable)
index 0000000..1654e72
--- /dev/null
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
+
+namespace Tizen.Applications.ComponentBased
+{
+    /// <summary>
+    /// This class has the methods and events of the ComponentManager.
+    /// </summary>
+    /// <since_tizen> 6 </since_tizen>
+    public static class ComponentManager
+    {
+        private const string LogTag = "Tizen.Applications";
+        
+        /// <summary>
+        /// Gets the information of the installed components asynchronously.
+        /// </summary>
+        /// <returns>The installed component info list.</returns>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
+        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+        /// <since_tizen> 6 </since_tizen>
+        public static async Task<IEnumerable<ComponentInfo>> GetInstalledComponentsAsync()
+        {
+            return await Task.Run(() =>
+            {
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ErrorCode.None;
+                List<ComponentInfo> result = new List<ComponentInfo>();
+
+                Interop.ComponentManager.ComponentManagerComponentInfoCallback cb = (IntPtr infoHandle, IntPtr userData) =>
+                {
+                    if (infoHandle != IntPtr.Zero)
+                    {
+                        IntPtr clonedHandle = IntPtr.Zero;
+                        err = Interop.ComponentManager.ComponentInfoClone(out clonedHandle, infoHandle);
+                        if (err != Interop.ComponentManager.ErrorCode.None)
+                        {
+                            Log.Warn(LogTag, "Failed to clone the ComponentInfo. err = " + err);
+                            return false;
+                        }
+                        ComponentInfo info = new ComponentInfo(clonedHandle);
+                        result.Add(info);
+                        return true;
+                    }
+                    return false;
+                };
+                err = Interop.ComponentManager.ComponentManagerForeachComponentInfo(cb, IntPtr.Zero);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    throw ComponentManagerErrorFactory.GetException(err, "Failed to retrieve the component info.");
+                }
+                return result;
+            }).ConfigureAwait(false);
+        }
+
+        /// <summary>
+        /// Gets the information of the running components asynchronously.
+        /// </summary>
+        /// <returns>The component running context list.</returns>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
+        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+        /// <since_tizen> 6 </since_tizen>
+        public static async Task<IEnumerable<ComponentRunningContext>> GetRunningComponentsAsync()
+        {
+            return await Task.Run(() =>
+            {
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ErrorCode.None;
+                List<ComponentRunningContext> result = new List<ComponentRunningContext>();
+
+                Interop.ComponentManager.ComponentManagerComponentContextCallback cb = (IntPtr contextHandle, IntPtr userData) =>
+                {
+                    if (contextHandle != IntPtr.Zero)
+                    {
+                        IntPtr clonedHandle = IntPtr.Zero;
+                        err = Interop.ComponentManager.ComponentContextClone(out clonedHandle, contextHandle);
+                        if (err != Interop.ComponentManager.ErrorCode.None)
+                        {
+                            Log.Warn(LogTag, "Failed to clone the ComponentInfo. err = " + err);
+                            return false;
+                        }
+                        ComponentRunningContext context = new ComponentRunningContext(clonedHandle);
+                        result.Add(context);
+                        return true;
+                    }
+                    return false;
+                };
+                err = Interop.ComponentManager.ComponentManagerForeachComponentContext(cb, IntPtr.Zero);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    throw ComponentManagerErrorFactory.GetException(err, "Failed to retrieve the running component context.");
+                }
+                return result;
+            }).ConfigureAwait(false);
+        }
+
+        /// <summary>
+        /// Checks whether the component is running or not.
+        /// </summary>
+        /// <param name="componentId">Component ID.</param>
+        /// <returns>Returns true if the component is running, otherwise false.</returns>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
+        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+        /// <since_tizen> 6 </since_tizen>
+        public static bool IsRunning(string componentId)
+        {
+            bool isRunning = false;
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerIsRunning(componentId, out isRunning);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                throw ComponentManagerErrorFactory.GetException(err, "Failed to check the IsRunning of " + componentId + ".");
+            }
+            return isRunning;
+        }
+
+        /// <summary>
+        /// Terminates the component if it is running in the background.
+        /// </summary>
+        /// <param name="context">Component ID</param>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
+        /// <privilege>http://tizen.org/privilege/appmanager.kill.bgapp</privilege>
+        /// <remarks>
+        /// This function returns after it just sends a request for terminating a background component.
+        /// Platform will decide if the target component could be terminated or not according to the state of the target component.
+        /// </remarks>
+        /// <since_tizen> 6 </since_tizen>
+        public static void TerminateBackgroundComponent(ComponentRunningContext context)
+        {
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerTerminateBgComponent(context._contextHandle);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                throw ComponentManagerErrorFactory.GetException(err, "Failed to send the terminate request.");
+            }
+        }
+
+        internal static class ComponentManagerErrorFactory
+        {
+            internal static Exception GetException(Interop.ComponentManager.ErrorCode err, string message)
+            {
+                string errMessage = string.Format("{0} err = {1}", message, err);
+                switch (err)
+                {
+                    case Interop.ComponentManager.ErrorCode.InvalidParameter:
+                    case Interop.ComponentManager.ErrorCode.NoSuchComponent:
+                        return new ArgumentException(errMessage);
+                    case Interop.ComponentManager.ErrorCode.PermissionDenied:
+                        return new UnauthorizedAccessException(errMessage);
+                    case Interop.ComponentManager.ErrorCode.IoError:
+                        return new global::System.IO.IOException(errMessage);
+                    case Interop.ComponentManager.ErrorCode.OutOfMemory:
+                        return new OutOfMemoryException(errMessage);
+                    default:
+                        return new InvalidOperationException(errMessage);
+                }
+            }
+        }
+    }
+}
diff --git a/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentRunningContext.cs b/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentRunningContext.cs
new file mode 100755 (executable)
index 0000000..4932922
--- /dev/null
@@ -0,0 +1,314 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
+
+namespace Tizen.Applications.ComponentBased
+{
+    /// <summary>
+    /// This class provides methods and properties to get information of the running component.
+    /// </summary>
+    /// <since_tizen> 6 </since_tizen>
+    public class ComponentRunningContext : IDisposable
+    {
+        private const string LogTag = "Tizen.Applications";
+        private bool _disposed = false;
+        internal IntPtr _contextHandle = IntPtr.Zero;
+        private string _componentId = string.Empty;
+
+        internal ComponentRunningContext(IntPtr contextHandle)
+        {
+            _contextHandle = contextHandle;
+        }
+
+        /// <summary>
+        /// A constructor of ComponentRunningContext that takes the component ID.
+        /// </summary>
+        /// <param name="componentId">Component ID.</param>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
+        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+        /// <since_tizen> 6 </since_tizen>
+        public ComponentRunningContext(string componentId)
+        {
+            _componentId = componentId;
+            IntPtr contextHandle = IntPtr.Zero;
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerGetComponentContext(_componentId, out contextHandle);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to create the ComponentRunningContext of " + _componentId + ".");
+            }
+            _contextHandle = contextHandle;
+        }
+
+        /// <summary>
+        /// Destructor of the class.
+        /// </summary>
+        ~ComponentRunningContext()
+        {
+            Dispose(false);
+        }
+
+        /// <summary>
+        /// Enumeration for the component state.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public enum ComponentState
+        {
+            /// <summary>
+            /// The Initialized state. This is the state when the component is constructed but OnCreate() is not called yet.
+            /// </summary>
+            Initialized = 0,
+
+            /// <summary>
+            /// The created state. This state is reached after OnCreate() is called.
+            /// </summary>
+            Created,
+
+            /// <summary>
+            /// The started state. This state is reached after OnStart() or OnStartCommand() is called.
+            /// </summary>
+            Started,
+
+            /// <summary>
+            /// The resumed state. This state is reached after OnResume() is called.
+            /// </summary>
+            Resumed,
+
+            /// <summary>
+            /// The paused state. This state is reached after OnPause() is called.
+            /// </summary>
+            Paused,
+
+            /// <summary>
+            /// The destroyed state. This state is reached right before OnDestroy() call.
+            /// </summary>
+            Destroyed
+        }
+
+        /// <summary>
+        /// Gets the ID of the component.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public string ComponentId
+        {
+            get
+            {
+                if (!string.IsNullOrEmpty(_componentId))
+                    return _componentId;
+
+                string componentId = string.Empty;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextGetComponentId(_contextHandle, out componentId);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the ComponentId. err = " + err);
+                }
+                _componentId = componentId;
+
+                return _componentId;
+            }
+        }
+
+        /// <summary>
+        /// Gets the application ID of the component.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public string ApplicationId
+        {
+            get
+            {
+                string appId = string.Empty;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextGetAppId(_contextHandle, out appId);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the ApplicationId of " + _componentId + ". err = " + err);
+                }
+
+                return appId;
+            }
+        }
+        
+        /// <summary>
+        /// Gets the instance ID of the component.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public string InstanceId
+        {
+            get
+            {
+                string instanceId = string.Empty;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextGetInstanceId(_contextHandle, out instanceId);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the InstanceId of " + _componentId + ". err = " + err);
+                }
+
+                return instanceId;
+            }
+        }
+
+        /// <summary>
+        /// Gets the state of the component.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public ComponentState State
+        {
+            get
+            {
+                int state = 0;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextGetComponentState(_contextHandle, out state);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the State of " + _componentId + ". err = " + err);
+                }
+
+                return (ComponentState)state;
+            }
+        }
+
+        /// <summary>
+        /// Checks whether the component is terminated or not.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public bool IsTerminated
+        {
+            get
+            {
+                bool isTerminated = false;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextIsTerminated(_contextHandle, out isTerminated);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the IsTerminated of " + _componentId + ". err = " + err);
+                }
+
+                return isTerminated;
+            }
+        }
+
+        /// <summary>
+        /// Checks whether the component is running as sub component of the group.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public bool IsSubComponent
+        {
+            get
+            {
+                bool isSubComponent = false;
+                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextIsSubComponent(_contextHandle, out isSubComponent);
+                if (err != Interop.ComponentManager.ErrorCode.None)
+                {
+                    Log.Warn(LogTag, "Failed to get the IsSubComponent of " + _componentId + ". err = " + err);
+                }
+
+                return isSubComponent;
+            }
+        }
+
+        /// <summary>
+        /// Resumes the running component.
+        /// </summary>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
+        /// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+        /// <since_tizen> 6 </since_tizen>
+        public void Resume()
+        {
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerResumeComponent(_contextHandle);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to Send the resume request.");
+            }
+        }
+
+        /// <summary>
+        /// Pauses the running component.
+        /// </summary>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
+        /// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+        /// <since_tizen> 6 </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void Pause()
+        {
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerPauseComponent(_contextHandle);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to Send the pause request.");
+            }
+        }
+
+        /// <summary>
+        /// Terminates the running component.
+        /// </summary>
+        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
+        /// <exception cref="InvalidOperationException">Thrown when failed because of the system error.</exception>
+        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
+        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
+        /// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+        /// <since_tizen> 6 </since_tizen>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void Terminate()
+        {
+            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerTerminateComponent(_contextHandle);
+            if (err != Interop.ComponentManager.ErrorCode.None)
+            {
+                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to Send the terminate request.");
+            }
+        }
+
+        /// <summary>
+        /// Releases all resources used by the ComponentInfo class.
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        public void Dispose()
+        {
+            Dispose(true);
+            GC.SuppressFinalize(this);
+        }
+
+        /// <summary>
+        /// Releases all resources used by the ComponentInfo class.
+        /// </summary>
+        /// <param name="disposing">Disposing</param>
+        /// <since_tizen> 6 </since_tizen>
+        private void Dispose(bool disposing)
+        {
+            if (_disposed)
+                return;
+
+            if (disposing)
+            {
+            }
+
+            if (_contextHandle != IntPtr.Zero)
+            {
+                Interop.ComponentManager.ComponentContextDestroy(_contextHandle);
+                _contextHandle = IntPtr.Zero;
+            }
+            _disposed = true;
+        }
+    }
+}
diff --git a/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentType.cs b/src/Tizen.Applications.ComponentBased.ComponentManager/Tizen.Applications/ComponentType.cs
new file mode 100755 (executable)
index 0000000..38a13f8
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+namespace Tizen.Applications.ComponentBased
+{
+    /// <summary>
+    /// Enumeration for component type.
+    /// </summary>
+    /// <since_tizen> 6 </since_tizen>
+    public enum ComponentType
+    {
+        /// <summary>
+        /// Frame component
+        /// </summary>
+        Frame = 0,
+
+        /// <summary>
+        /// Service component
+        /// </summary>
+        Service = 1
+    }
+}
diff --git a/src/Tizen.Applications.ComponentManager/Interop/Interop.ComponentManager.cs b/src/Tizen.Applications.ComponentManager/Interop/Interop.ComponentManager.cs
deleted file mode 100755 (executable)
index 0ca3c22..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
-    internal static partial class ComponentManager
-    {
-        internal enum ErrorCode
-        {
-            None = Tizen.Internals.Errors.ErrorCode.None,
-            InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter,
-            OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory,
-            IoError = Tizen.Internals.Errors.ErrorCode.IoError,
-            NoSuchComponent = -0x03040000 | 0x01,
-            DbFailed = -0x03040000 | 0x03,
-            InvalidApplication = -0x03040000 | 0x04,
-            NotRunning = -0x03040000 | 0x05,
-            LabelNotFound = -0x03040000 | 0x06,
-            PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied
-        }
-
-        internal enum ComponentInfoComponentType
-        {
-            Frame = 0,
-            Service = 1
-        }
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        internal delegate bool ComponentManagerComponentContextCallback(IntPtr handle, IntPtr userData);
-        // bool (*component_manager_component_context_cb)(component_context_h handle, void *user_data);
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        internal delegate bool ComponentManagerComponentInfoCallback(IntPtr handle, IntPtr userData);
-        // bool (*component_manager_component_info_cb)(component_info_h handle, void *user_data);
-               
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_foreach_component_context")]
-        internal static extern ErrorCode ComponentManagerForeachComponentContext(ComponentManagerComponentContextCallback callback, IntPtr userData);
-        // int component_manager_foreach_component_context(component_manager_component_context_cb callback, void *user_data)
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_foreach_component_info")]
-        internal static extern ErrorCode ComponentManagerForeachComponentInfo(ComponentManagerComponentInfoCallback callback, IntPtr userData);
-        // int component_manager_foreach_component_info(component_manager_component_info_cb callback, void *user_data)
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_get_component_context")]
-        internal static extern ErrorCode ComponentManagerGetComponentContext(string componentId, out IntPtr handle);
-        // int component_manager_get_component_context(const char *comp_id, component_context_h *handle);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_get_component_info")]
-        internal static extern ErrorCode ComponentManagerGetComponentInfo(string componentId, out IntPtr handle);
-        // int component_manager_get_component_info(const char *comp_id, component_info_h *handle);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_is_running")]
-        internal static extern ErrorCode ComponentManagerIsRunning(string componentId, out bool running);
-        // int component_manager_is_running(const char *appid, bool *running);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_resume_component")]
-        internal static extern ErrorCode ComponentManagerResumeComponent(IntPtr handle);
-        // int component_manager_resume_component(component_context_h handle);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_terminate_bg_component")]
-        internal static extern ErrorCode ComponentManagerTerminateBgComponent(IntPtr handle);
-        // int component_manager_terminate_bg_component (component_context_h handle);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_pause_component")]
-        internal static extern ErrorCode ComponentManagerPauseComponent(IntPtr handle);
-        // int component_manager_pause_component(component_context_h handle);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_manager_terminate_component")]
-        internal static extern ErrorCode ComponentManagerTerminateComponent(IntPtr handle);
-        // int component_manager_terminate_component(component_context_h handle);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_destroy")]
-        internal static extern ErrorCode ComponentContextDestroy(IntPtr handle);
-        // int component_context_destroy(component_context_h handle)
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_get_app_id")]
-        internal static extern ErrorCode ComponentContextGetAppId(IntPtr handle, out string applicationId);
-        // int component_context_get_app_id(component_context_h handle, char **app_id)
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_get_component_id")]
-        internal static extern ErrorCode ComponentContextGetComponentId(IntPtr handle, out string componentId);
-        // int component_context_get_component_id(component_context_h handle, char **component_id)
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_get_instance_id")]
-        internal static extern ErrorCode ComponentContextGetInstanceId(IntPtr handle, out string instanceId);
-        // int component_context_get_instance_id(component_context_h handle, char **instance_id)
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_get_component_state")]
-        internal static extern ErrorCode ComponentContextGetComponentState(IntPtr handle, out int state);
-        // int component_context_get_component_state(component_context_h handle, component_state_e *state)
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_is_terminated")]
-        internal static extern ErrorCode ComponentContextIsTerminated(IntPtr handle, out bool terminated);
-        // int component_context_is_terminated(component_context_h handle, bool *terminated);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_is_subcomponent")]
-        internal static extern ErrorCode ComponentContextIsSubComponent(IntPtr handle, out bool is_subcomponent);
-        // int component_context_is_subcomponent(component_context_h handle, bool *is_subcomponent);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_context_clone")]
-        internal static extern ErrorCode ComponentContextClone(out IntPtr destination, IntPtr source);
-        // int component_context_clone(component_context_h *clone, component_context_h handle);
-        
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_create")]
-        internal static extern ErrorCode ComponentInfoCreate(string componentId, out IntPtr handle);
-        // int component_info_create(const char *component_id, component_info_h *handle);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_destroy")]
-        internal static extern ErrorCode ComponentInfoDestroy(IntPtr handle);
-        // int component_info_destroy(component_info_h handle);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_app_id")]
-        internal static extern ErrorCode ComponentInfoGetAppId(IntPtr handle, out string applicationId);
-        // int component_info_get_app_id(component_info_h handle, char **app_id);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_component_id")]
-        internal static extern ErrorCode ComponentInfoGetComponentId(IntPtr handle, out string componentId);
-        // int component_info_get_component_id(component_info_h handle, char **component_id);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_component_type")]
-        internal static extern ErrorCode ComponentInfoGetComponentType(IntPtr handle, out ComponentInfoComponentType type);
-        // int component_info_get_component_type(component_info_h handle, component_info_component_type_e *type);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_is_icon_display")]
-        internal static extern ErrorCode ComponentInfoIsIconDisplay(IntPtr handle, out bool iconDisplay);
-        // int component_info_is_icon_display(component_info_h handle, bool *icon_display);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_is_managed_by_task_manager")]
-        internal static extern ErrorCode ComponentInfoIsManagedByTaskManager(IntPtr handle, out bool managed);
-        // int component_info_is_managed_by_task_manager(component_info_h handle, bool *managed);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_icon")]
-        internal static extern ErrorCode ComponentInfoGetIcon(IntPtr handle, out string icon);
-        // int component_info_get_icon(component_info_h handle, char **icon);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_label")]
-        internal static extern ErrorCode ComponentInfoGetLabel(IntPtr handle, out string label);
-        // int component_info_get_label(component_info_h handle, char **label);
-
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_get_localized_label")]
-        internal static extern ErrorCode ComponentInfoGetLocalizedLabel(IntPtr handle, string locale, out string label);
-        // int component_info_get_localized_label(component_info_h handle, const char *locale, char **label);
-        
-        [DllImport(Libraries.ComponentManager, EntryPoint = "component_info_clone")]
-        internal static extern ErrorCode ComponentInfoClone(out IntPtr destination, IntPtr source);
-        // int component_info_clone(component_info_h *clone, component_info_h handle);
-    }
-}
diff --git a/src/Tizen.Applications.ComponentManager/Interop/Interop.Libraries.cs b/src/Tizen.Applications.ComponentManager/Interop/Interop.Libraries.cs
deleted file mode 100755 (executable)
index a793dd3..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-internal static partial class Interop
-{
-    internal static partial class Libraries
-    {
-        public const string ComponentManager = "libcapi-appfw-component-manager.so.1";
-    }
-}
\ No newline at end of file
diff --git a/src/Tizen.Applications.ComponentManager/Tizen.Applications.ComponentManager.csproj b/src/Tizen.Applications.ComponentManager/Tizen.Applications.ComponentManager.csproj
deleted file mode 100755 (executable)
index 4c51c41..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\Tizen\Tizen.csproj" />
-    <ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
-  </ItemGroup>
-
-</Project>
\ No newline at end of file
diff --git a/src/Tizen.Applications.ComponentManager/Tizen.Applications.ComponentManager.sln b/src/Tizen.Applications.ComponentManager/Tizen.Applications.ComponentManager.sln
deleted file mode 100755 (executable)
index ca87df5..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.271
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tizen.Applications.ComponentManager", "Tizen.Applications.ComponentManager.csproj", "{0C733CDC-EE90-42CE-9083-87FC55EF91DA}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Any CPU = Debug|Any CPU
-               Release|Any CPU = Release|Any CPU
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {0C733CDC-EE90-42CE-9083-87FC55EF91DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {0C733CDC-EE90-42CE-9083-87FC55EF91DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {0C733CDC-EE90-42CE-9083-87FC55EF91DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {0C733CDC-EE90-42CE-9083-87FC55EF91DA}.Release|Any CPU.Build.0 = Release|Any CPU
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-               SolutionGuid = {7166CBA3-05BB-413B-9DA4-5F0A408AFA36}
-       EndGlobalSection
-EndGlobal
diff --git a/src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentInfo.cs b/src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentInfo.cs
deleted file mode 100755 (executable)
index 31add27..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace Tizen.Applications
-{
-    /// <summary>
-    /// This class provides methods and properties to get information of the component.
-    /// </summary>
-    /// <since_tizen> 6 </since_tizen>
-    public class ComponentInfo : IDisposable
-    {
-        private const string LogTag = "Tizen.Applications";
-        private bool _disposed = false;
-        private IntPtr _infoHandle = IntPtr.Zero;
-        private string _componentId = string.Empty;
-
-        internal ComponentInfo(IntPtr infoHandle)
-        {
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetComponentId(infoHandle, out _componentId);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Invalid native handle.");
-            }
-            _infoHandle = infoHandle;
-        }
-
-        /// <summary>
-        /// A constructor of ComponentInfo that takes the component ID.
-        /// </summary>
-        /// <param name="componentId">Component ID.</param>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>>
-        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
-        /// <since_tizen> 6 </since_tizen>
-        public ComponentInfo(string componentId)
-        {
-            _componentId = componentId;
-            IntPtr infoHandle = IntPtr.Zero;
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoCreate(_componentId, out infoHandle);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to create the ComponentInfo.");
-            }
-            _infoHandle = infoHandle;
-        }
-
-        /// <summary>
-        /// Destructor of the class.
-        /// </summary>
-        ~ComponentInfo()
-        {
-            Dispose(false);
-        }
-
-        /// <summary>
-        /// Gets the component ID.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public string ComponentId
-        {
-            get
-            {
-                if (!string.IsNullOrEmpty(_componentId))
-                    return _componentId;
-
-                string compId = string.Empty;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetComponentId(_infoHandle, out compId);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the ComponentId. err = " + err);
-                }
-                _componentId = compId;
-
-                return _componentId;
-            }
-        }
-
-        /// <summary>
-        /// Gets the application ID of the component.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public string ApplicationId
-        {
-            get
-            {
-                string appId = string.Empty;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetAppId(_infoHandle, out appId);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the ApplicationId of " + _componentId + ". err = " + err);
-                }
-
-                return appId;
-            }
-        }
-
-        /// <summary>
-        /// Gets the type of the component.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public ComponentType ComponentType
-        {
-            get
-            {
-                Interop.ComponentManager.ComponentInfoComponentType type = 0;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetComponentType(_infoHandle, out type);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the Type of " + _componentId + ". err = " + err);
-                }
-
-                return (ComponentType)type;
-            }
-        }
-
-        /// <summary>
-        /// Checks whether the icon of the component should be displayed or not.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public bool IsIconDisplayed
-        {
-            get
-            {
-                bool iconDisplay = false;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoIsIconDisplay(_infoHandle, out iconDisplay);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the IsIconDisplay of " + _componentId + ". err = " + err);
-                }
-
-                return iconDisplay;
-            }
-        }
-
-        /// <summary>
-        /// Checks whether the component should be managed by task-manager or not.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public bool IsManagedByTaskManager
-        {
-            get
-            {
-                bool managed = false;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoIsManagedByTaskManager(_infoHandle, out managed);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the IsManagedByTaskManager of " + _componentId + ". err = " + err);
-                }
-
-                return managed;
-            }
-        }
-
-        /// <summary>
-        /// Gets the absolute path of the icon image.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public string IconPath
-        {
-            get
-            {
-                string path = string.Empty;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetIcon(_infoHandle, out path);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the IconPath of " + _componentId + ". err = " + err);
-                }
-
-                return path;
-            }
-        }
-
-        /// <summary>
-        /// Gets the label of the component.
-        /// </summary>
-        public string Label
-        {
-            get
-            {
-                string label = string.Empty;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetLabel(_infoHandle, out label);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the Label of " + _componentId + ". err = " + err);
-                }
-
-                return label;
-            }
-        }
-
-        /// <summary>
-        /// Gets the localized label of the component for the given locale.
-        /// </summary>
-        /// <param name="locale">Locale.</param>
-        /// <remarks>The format of locale is language and country code. (available value: "[2-letter lowercase language code (ISO 639-1)]-[2-letter lowercase country code (ISO 3166-alpha-2)]")</remarks>
-        /// <returns>The localized label.</returns>
-        /// <since_tizen> 6 </since_tizen>
-        public string GetLocalizedLabel(string locale)
-        {
-            string label = string.Empty;
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentInfoGetLocalizedLabel(_infoHandle, locale, out label);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                Log.Warn(LogTag, "Failed to get the GetLocalizedLabel of " + _componentId + ". err = " + err);
-                label = Label;
-            }
-            return label;
-        }
-
-        /// <summary>
-        /// Releases all resources used by the ComponentInfo class.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public void Dispose()
-        {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases all resources used by the ComponentInfo class.
-        /// </summary>
-        /// <param name="disposing">Disposing</param>
-        /// <since_tizen> 6 </since_tizen>
-        private void Dispose(bool disposing)
-        {
-            if (_disposed)
-                return;
-
-            if (disposing)
-            {
-            }
-
-            if (_infoHandle != IntPtr.Zero)
-            {
-                Interop.ComponentManager.ComponentInfoDestroy(_infoHandle);
-                _infoHandle = IntPtr.Zero;
-            }
-            _disposed = true;
-        }
-    }
-}
diff --git a/src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentManager.cs b/src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentManager.cs
deleted file mode 100755 (executable)
index f37a90d..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
-
-namespace Tizen.Applications
-{
-    /// <summary>
-    /// This class has the methods and events of the ComponentManager.
-    /// </summary>
-    /// <since_tizen> 6 </since_tizen>
-    public static class ComponentManager
-    {
-        private const string LogTag = "Tizen.Applications";
-        
-        /// <summary>
-        /// Gets the information of the installed components asynchronously.
-        /// </summary>
-        /// <returns>The installed component info list.</returns>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
-        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
-        /// <since_tizen> 6 </since_tizen>
-        public static async Task<IEnumerable<ComponentInfo>> GetInstalledComponentsAsync()
-        {
-            return await Task.Run(() =>
-            {
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ErrorCode.None;
-                List<ComponentInfo> result = new List<ComponentInfo>();
-
-                Interop.ComponentManager.ComponentManagerComponentInfoCallback cb = (IntPtr infoHandle, IntPtr userData) =>
-                {
-                    if (infoHandle != IntPtr.Zero)
-                    {
-                        IntPtr clonedHandle = IntPtr.Zero;
-                        err = Interop.ComponentManager.ComponentInfoClone(out clonedHandle, infoHandle);
-                        if (err != Interop.ComponentManager.ErrorCode.None)
-                        {
-                            Log.Warn(LogTag, "Failed to clone the ComponentInfo. err = " + err);
-                            return false;
-                        }
-                        ComponentInfo info = new ComponentInfo(clonedHandle);
-                        result.Add(info);
-                        return true;
-                    }
-                    return false;
-                };
-                err = Interop.ComponentManager.ComponentManagerForeachComponentInfo(cb, IntPtr.Zero);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    throw ComponentManagerErrorFactory.GetException(err, "Failed to retrieve the component info.");
-                }
-                return result;
-            }).ConfigureAwait(false);
-        }
-
-        /// <summary>
-        /// Gets the information of the running components asynchronously.
-        /// </summary>
-        /// <returns>The component running context list.</returns>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
-        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
-        /// <since_tizen> 6 </since_tizen>
-        public static async Task<IEnumerable<ComponentRunningContext>> GetRunningComponentsAsync()
-        {
-            return await Task.Run(() =>
-            {
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ErrorCode.None;
-                List<ComponentRunningContext> result = new List<ComponentRunningContext>();
-
-                Interop.ComponentManager.ComponentManagerComponentContextCallback cb = (IntPtr contextHandle, IntPtr userData) =>
-                {
-                    if (contextHandle != IntPtr.Zero)
-                    {
-                        IntPtr clonedHandle = IntPtr.Zero;
-                        err = Interop.ComponentManager.ComponentContextClone(out clonedHandle, contextHandle);
-                        if (err != Interop.ComponentManager.ErrorCode.None)
-                        {
-                            Log.Warn(LogTag, "Failed to clone the ComponentInfo. err = " + err);
-                            return false;
-                        }
-                        ComponentRunningContext context = new ComponentRunningContext(clonedHandle);
-                        result.Add(context);
-                        return true;
-                    }
-                    return false;
-                };
-                err = Interop.ComponentManager.ComponentManagerForeachComponentContext(cb, IntPtr.Zero);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    throw ComponentManagerErrorFactory.GetException(err, "Failed to retrieve the running component context.");
-                }
-                return result;
-            }).ConfigureAwait(false);
-        }
-
-        /// <summary>
-        /// Checks whether the component is running or not.
-        /// </summary>
-        /// <param name="componentId">Component ID.</param>
-        /// <returns>Returns true if the component is running, otherwise false.</returns>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
-        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
-        /// <since_tizen> 6 </since_tizen>
-        public static bool IsRunning(string componentId)
-        {
-            bool isRunning = false;
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerIsRunning(componentId, out isRunning);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                throw ComponentManagerErrorFactory.GetException(err, "Failed to check the IsRunning of " + componentId + ".");
-            }
-            return isRunning;
-        }
-
-        /// <summary>
-        /// Terminates the component if it is running in the background.
-        /// </summary>
-        /// <param name="context">Component ID</param>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
-        /// <privilege>http://tizen.org/privilege/appmanager.kill.bgapp</privilege>
-        /// <remarks>
-        /// This function returns after it just sends a request for terminating a background component.
-        /// Platform will decide if the target component could be terminated or not according to the state of the target component.
-        /// </remarks>
-        /// <since_tizen> 6 </since_tizen>
-        public static void TerminateBackgroundComponent(ComponentRunningContext context)
-        {
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerTerminateBgComponent(context._contextHandle);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                throw ComponentManagerErrorFactory.GetException(err, "Failed to send the terminate request.");
-            }
-        }
-
-        internal static class ComponentManagerErrorFactory
-        {
-            internal static Exception GetException(Interop.ComponentManager.ErrorCode err, string message)
-            {
-                string errMessage = string.Format("{0} err = {1}", message, err);
-                switch (err)
-                {
-                    case Interop.ComponentManager.ErrorCode.InvalidParameter:
-                    case Interop.ComponentManager.ErrorCode.NoSuchComponent:
-                        return new ArgumentException(errMessage);
-                    case Interop.ComponentManager.ErrorCode.PermissionDenied:
-                        return new UnauthorizedAccessException(errMessage);
-                    case Interop.ComponentManager.ErrorCode.IoError:
-                        return new global::System.IO.IOException(errMessage);
-                    case Interop.ComponentManager.ErrorCode.OutOfMemory:
-                        return new OutOfMemoryException(errMessage);
-                    default:
-                        return new InvalidOperationException(errMessage);
-                }
-            }
-        }
-    }
-}
diff --git a/src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentRunningContext.cs b/src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentRunningContext.cs
deleted file mode 100755 (executable)
index 5735948..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
-
-namespace Tizen.Applications
-{
-    /// <summary>
-    /// This class provides methods and properties to get information of the running component.
-    /// </summary>
-    /// <since_tizen> 6 </since_tizen>
-    public class ComponentRunningContext : IDisposable
-    {
-        private const string LogTag = "Tizen.Applications";
-        private bool _disposed = false;
-        internal IntPtr _contextHandle = IntPtr.Zero;
-        private string _componentId = string.Empty;
-
-        internal ComponentRunningContext(IntPtr contextHandle)
-        {
-            _contextHandle = contextHandle;
-        }
-
-        /// <summary>
-        /// A constructor of ComponentRunningContext that takes the component ID.
-        /// </summary>
-        /// <param name="componentId">Component ID.</param>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the "component not exist" error or the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
-        /// <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
-        /// <since_tizen> 6 </since_tizen>
-        public ComponentRunningContext(string componentId)
-        {
-            _componentId = componentId;
-            IntPtr contextHandle = IntPtr.Zero;
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerGetComponentContext(_componentId, out contextHandle);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to create the ComponentRunningContext of " + _componentId + ".");
-            }
-            _contextHandle = contextHandle;
-        }
-
-        /// <summary>
-        /// Destructor of the class.
-        /// </summary>
-        ~ComponentRunningContext()
-        {
-            Dispose(false);
-        }
-
-        /// <summary>
-        /// Enumeration for the component state.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public enum ComponentState
-        {
-            /// <summary>
-            /// The Initialized state. This is the state when the component is constructed but OnCreate() is not called yet.
-            /// </summary>
-            Initialized = 0,
-
-            /// <summary>
-            /// The created state. This state is reached after OnCreate() is called.
-            /// </summary>
-            Created,
-
-            /// <summary>
-            /// The started state. This state is reached after OnStart() or OnStartCommand() is called.
-            /// </summary>
-            Started,
-
-            /// <summary>
-            /// The resumed state. This state is reached after OnResume() is called.
-            /// </summary>
-            Resumed,
-
-            /// <summary>
-            /// The paused state. This state is reached after OnPause() is called.
-            /// </summary>
-            Paused,
-
-            /// <summary>
-            /// The destroyed state. This state is reached right before OnDestroy() call.
-            /// </summary>
-            Destroyed
-        }
-
-        /// <summary>
-        /// Gets the ID of the component.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public string ComponentId
-        {
-            get
-            {
-                if (!string.IsNullOrEmpty(_componentId))
-                    return _componentId;
-
-                string componentId = string.Empty;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextGetComponentId(_contextHandle, out componentId);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the ComponentId. err = " + err);
-                }
-                _componentId = componentId;
-
-                return _componentId;
-            }
-        }
-
-        /// <summary>
-        /// Gets the application ID of the component.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public string ApplicationId
-        {
-            get
-            {
-                string appId = string.Empty;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextGetAppId(_contextHandle, out appId);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the ApplicationId of " + _componentId + ". err = " + err);
-                }
-
-                return appId;
-            }
-        }
-        
-        /// <summary>
-        /// Gets the instance ID of the component.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public string InstanceId
-        {
-            get
-            {
-                string instanceId = string.Empty;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextGetInstanceId(_contextHandle, out instanceId);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the InstanceId of " + _componentId + ". err = " + err);
-                }
-
-                return instanceId;
-            }
-        }
-
-        /// <summary>
-        /// Gets the state of the component.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public ComponentState State
-        {
-            get
-            {
-                int state = 0;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextGetComponentState(_contextHandle, out state);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the State of " + _componentId + ". err = " + err);
-                }
-
-                return (ComponentState)state;
-            }
-        }
-
-        /// <summary>
-        /// Checks whether the component is terminated or not.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public bool IsTerminated
-        {
-            get
-            {
-                bool isTerminated = false;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextIsTerminated(_contextHandle, out isTerminated);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the IsTerminated of " + _componentId + ". err = " + err);
-                }
-
-                return isTerminated;
-            }
-        }
-
-        /// <summary>
-        /// Checks whether the component is running as sub component of the group.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public bool IsSubComponent
-        {
-            get
-            {
-                bool isSubComponent = false;
-                Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentContextIsSubComponent(_contextHandle, out isSubComponent);
-                if (err != Interop.ComponentManager.ErrorCode.None)
-                {
-                    Log.Warn(LogTag, "Failed to get the IsSubComponent of " + _componentId + ". err = " + err);
-                }
-
-                return isSubComponent;
-            }
-        }
-
-        /// <summary>
-        /// Resumes the running component.
-        /// </summary>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
-        /// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
-        /// <since_tizen> 6 </since_tizen>
-        public void Resume()
-        {
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerResumeComponent(_contextHandle);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to Send the resume request.");
-            }
-        }
-
-        /// <summary>
-        /// Pauses the running component.
-        /// </summary>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
-        /// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
-        /// <since_tizen> 6 </since_tizen>
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public void Pause()
-        {
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerPauseComponent(_contextHandle);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to Send the pause request.");
-            }
-        }
-
-        /// <summary>
-        /// Terminates the running component.
-        /// </summary>
-        /// <exception cref="ArgumentException">Thrown when failed because of an invalid argument.</exception>
-        /// <exception cref="InvalidOperationException">Thrown when failed because of the system error.</exception>
-        /// <exception cref="OutOfMemoryException">Thrown when failed because of out of memory.</exception>
-        /// <exception cref="UnauthorizedAccessException">Thrown when failed because of permission denied.</exception>
-        /// <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
-        /// <since_tizen> 6 </since_tizen>
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public void Terminate()
-        {
-            Interop.ComponentManager.ErrorCode err = Interop.ComponentManager.ComponentManagerTerminateComponent(_contextHandle);
-            if (err != Interop.ComponentManager.ErrorCode.None)
-            {
-                throw ComponentManager.ComponentManagerErrorFactory.GetException(err, "Failed to Send the terminate request.");
-            }
-        }
-
-        /// <summary>
-        /// Releases all resources used by the ComponentInfo class.
-        /// </summary>
-        /// <since_tizen> 6 </since_tizen>
-        public void Dispose()
-        {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases all resources used by the ComponentInfo class.
-        /// </summary>
-        /// <param name="disposing">Disposing</param>
-        /// <since_tizen> 6 </since_tizen>
-        private void Dispose(bool disposing)
-        {
-            if (_disposed)
-                return;
-
-            if (disposing)
-            {
-            }
-
-            if (_contextHandle != IntPtr.Zero)
-            {
-                Interop.ComponentManager.ComponentContextDestroy(_contextHandle);
-                _contextHandle = IntPtr.Zero;
-            }
-            _disposed = true;
-        }
-    }
-}
diff --git a/src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentType.cs b/src/Tizen.Applications.ComponentManager/Tizen.Applications/ComponentType.cs
deleted file mode 100755 (executable)
index 7306f09..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-namespace Tizen.Applications
-{
-    /// <summary>
-    /// Enumeration for component type.
-    /// </summary>
-    /// <since_tizen> 6 </since_tizen>
-    public enum ComponentType
-    {
-        /// <summary>
-        /// Frame component
-        /// </summary>
-        Frame = 0,
-
-        /// <summary>
-        /// Service component
-        /// </summary>
-        Service = 1
-    }
-}