Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions src/Tizen.Applications.Common/AssemblyAttr.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* Copyright (c) 2026 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.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("Tizen.Applications.Team, " + PublicKey.Value)]

internal static class PublicKey
{
internal const string Value =
"PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
"6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
"ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
"b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Copyright (c) 2026 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.ComponentModel;
using Tizen.Applications.CoreBackend;

namespace Tizen.Applications.CoreBackend
{
/// <summary>
/// Defines the common contract for NUI-based application backends.
/// </summary>
/// <remarks>
/// This interface abstracts the shared functionality between <c>NUICoreBackend</c>
/// and <c>TeamUICoreBackend</c>, enabling polymorphic access to event handler registration.
/// </remarks>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
public interface IUICoreBackend : IDisposable
{
/// <summary>
/// Adds an event handler for the specified event type.
/// </summary>
/// <param name="evType">The type of event.</param>
/// <param name="handler">The handler method without arguments.</param>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
void AddEventHandler(EventType evType, Action handler);

/// <summary>
/// Adds an event handler for the specified event type with typed event arguments.
/// </summary>
/// <typeparam name="TEventArgs">The <see cref="EventArgs"/> type used in the handler method.</typeparam>
/// <param name="evType">The type of event.</param>
/// <param name="handler">The handler method with a <typeparamref name="TEventArgs"/> type argument.</param>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
void AddEventHandler<TEventArgs>(EventType evType, Action<TEventArgs> handler) where TEventArgs : EventArgs;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ namespace Tizen.Applications
/// This class provides methods and properties to get information of the application.
/// </summary>
/// <since_tizen> 3 </since_tizen>
public class ApplicationInfo : IDisposable
public class ApplicationInfo : IDisposable, IApplicationInfo
{
private const string LogTag = "Tizen.Applications";
private bool _disposed = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ namespace Tizen.Applications
/// Represents directory information of the application.
/// </summary>
/// <since_tizen> 3 </since_tizen>
public class DirectoryInfo
public class DirectoryInfo : IDirectoryInfo
{
private string _dataPath;
private string _cachePath;
Expand Down
176 changes: 176 additions & 0 deletions src/Tizen.Applications.Common/Tizen.Applications/IApplicationInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
/*
* Copyright (c) 2026 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;

namespace Tizen.Applications
{
/// <summary>
/// Defines the common contract for application information.
/// </summary>
/// <remarks>
/// This interface abstracts the shared properties between <see cref="ApplicationInfo"/>
/// and <see cref="TeamApplicationInfo"/>.
/// </remarks>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
public interface IApplicationInfo : IDisposable
Comment thread
newb1e-kim marked this conversation as resolved.
{
/// <summary>
/// Gets the application ID.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string ApplicationId { get; }

/// <summary>
/// Gets the package ID of the application.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string PackageId { get; }

/// <summary>
/// Gets the label of the application.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string Label { get; }

/// <summary>
/// Gets the executable path of the application.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string ExecutablePath { get; }

/// <summary>
/// Gets the absolute path to the icon image.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string IconPath { get; }

/// <summary>
/// Gets the application type name.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string ApplicationType { get; }

/// <summary>
/// Gets the application component type.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
ApplicationComponentType ComponentType { get; }

/// <summary>
/// Gets the application's metadata.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
IDictionary<string, string> Metadata { get; }

/// <summary>
/// Gets a value indicating whether the application is not displayed on the launcher.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
bool IsNoDisplay { get; }

/// <summary>
/// Gets a value indicating whether the application is launched automatically on system boot.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
bool IsOnBoot { get; }

/// <summary>
/// Gets a value indicating whether the application is preloaded on the device.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
bool IsPreload { get; }

/// <summary>
/// Gets the categories the application belongs to.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
IEnumerable<string> Categories { get; }

/// <summary>
/// Gets the shared data path.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string SharedDataPath { get; }

/// <summary>
/// Gets the shared resource path.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string SharedResourcePath { get; }

/// <summary>
/// Gets the shared trusted path.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string SharedTrustedPath { get; }

/// <summary>
/// Gets the external shared data path.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string ExternalSharedDataPath { get; }

/// <summary>
/// Gets the resource controls.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
IEnumerable<ResourceControl> ResourceControls { get; }

/// <summary>
/// Gets the common shared data path.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string CommonSharedDataPath { get; }

/// <summary>
/// Gets the common shared trusted path.
/// </summary>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string CommonSharedTrustedPath { get; }

/// <summary>
/// Gets the localized label of the application for the given locale.
/// </summary>
/// <param name="locale">The locale string.</param>
/// <returns>The localized label string.</returns>
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
string GetLocalizedLabel(string locale);
}
}
Loading
Loading