public Command OptionMenuDeleteCommand { get; set; }
/// <summary>
- /// A initializer.
+ /// A Constructor.
+ /// Initializes AppShortcutInfo.
/// </summary>
public AppShortcutInfo()
{
* limitations under the License.
*/
-using System;
namespace LibTVRefCommonPortable.DataModels
{
/// <summary>
/// Gets the type of directory event that occurred.
- /// One of the System.IO.WatcherChangeTypes values that represents the kind of change
+ /// One of the System.IO.WatcherChangeTypes values that represents the kind of change
/// detected in the file system.
/// </summary>
public WatcherType ChangeType { set; get; }
/// <summary>
- /// Gets the fully qualifed path of the affected file or directory.
+ /// Gets the fully qualified path of the affected file or directory.
/// The path of the affected file or directory.
/// </summary>
public string FullPath { set; get; }
/// <summary>
/// A method executes a action.
- /// After execution of the action, status will be changed if returned status is avaiable. </summary>
+ /// After execution of the action, status will be changed if returned status is available. </summary>
/// <returns> A result of action invocation. </returns>
public bool DoAction()
{
* limitations under the License.
*/
-using System;
using LibTVRefCommonPortable.Utils;
using Xamarin.Forms;
namespace LibTVRefCommonPortable.DataModels
{
/// <summary>
- /// A Actionto shows a WiFi settings
+ /// A Action to shows a WiFi settings
/// </summary>
class WiFiLaunchAction : IAction
{
namespace LibTVRefCommonPortable.DataModels
{
/// <summary>
- /// A class represnts the WiFi setting Shortcut.
+ /// A class represents the WiFi setting Shortcut.
/// </summary>
public class WiFiSettingShortcutInfo : ShortcutInfo
{
/// <summary>
- /// A method initailizes the status of a Shortcut.
+ /// A method initializes the status of a Shortcut.
/// </summary>
public override void UpdateState()
{
- // 1. Check Current Wi-Fi Status.
+ // 1. Check Current WiFi Status.
// 2. Set Description
SetCurrentState("off");
/// <summary>
/// A class provides Application related information to ViewModel.
/// The TVHome shows the Pinned app list when the App Home Menu is pressed,
- /// by invoking AppShortcutController's api to retrive the pinned app list.
- /// The TVApps shows the installed Tizen UI apps in the main screen.
- /// To provides the installed apps, the TVApps invokes a AppShortcutController's api.
+ /// by invoking AppShortcutController's API to retrieve the pinned app list.
+ /// The TVApps shows the installed the Tizen UI apps in the main screen.
+ /// To provides the installed apps, the TVApps invokes a AppShortcutController's API.
/// </summary>
public class AppShortcutController
{
}
/// <summary>
- /// A method prepends a All Apps Shortcut and a MediaHub Shortcut in the given App Shortcut list.
+ /// A method appends a All Apps Shortcut and a MediaHub Shortcut at first in the given App Shortcut list.
/// Actually this method is used for making the Pinned App Shortcut panel of the TVHome
/// </summary>
/// <seealso cref="GetDefaultShortcuts"/>
}
/// <summary>
- /// A method provides Pinned App Shrotcut list by retriving from the AppShortcutStorage.
+ /// A method provides Pinned App Shortcut list by retrieving from the AppShortcutStorage.
/// This method provides only the Pinned App Shortcut list not including any additional Shortcuts
/// such as the All Apps, the Media Hub, and the Add Pin.
/// </summary>
}
/// <summary>
- /// A method provides only pinned app's app ID as a hashtable.
+ /// A method provides only pinned app's app ID as a hash table.
/// </summary>
- /// <returns>A hashtable includes pinned app's app ID.</returns>
+ /// <returns>A hash table includes pinned app's app ID.</returns>
public async Task<Dictionary<string, string>> GetPinnedAppsAppIDs()
{
IApplicationManagerAPIs applicationManagerPort = DependencyService.Get<IApplicationManagerAPIs>();
/// <summary>
/// A listener to get notification of the AppShortcutStorage.
/// </summary>
- /// <param name="eventListener">A Event Handler for the nofication of AppShortutStorage.</param>
+ /// <param name="eventListener">A Event Handler for the nonfiction of AppShortutStorage.</param>
public void AddFileSystemChangedListener(EventHandler<EventArgs> eventListener)
{
if (AppShortcutStorage.Instance != null)
}
/// <summary>
- /// A method revmoes all Recent Shortcuts.
+ /// A method removes all Recent Shortcuts.
/// </summary>
public void RemoveAll()
{
/// <summary>
/// A method provides a Recent Shortcut list.
/// </summary>
- /// <returns>A Recnet Shortcut list.</returns>
+ /// <returns>A Recent Shortcut list.</returns>
public IEnumerable<RecentShortcutInfo> GetList()
{
IApplicationManagerAPIs applicationManagerPort = DependencyService.Get<IApplicationManagerAPIs>();
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A class provides App Control utility APIs.
+ /// </summary>
public sealed class AppControlUtils
{
- public static void SendLaunchRequest(string PkgID)
+ /// <summary>
+ /// A method makes the package ID's app to be launched.
+ /// </summary>
+ /// <param name="pkgID">A package ID of the targeted application.</param>
+ public static void SendLaunchRequest(string pkgID)
{
if (DependencyService.Get<IAppControl>() == null)
{
return;
}
- DependencyService.Get<IAppControl>().SendLaunchRequest(PkgID);
+ DependencyService.Get<IAppControl>().SendLaunchRequest(pkgID);
}
+ /// <summary>
+ /// A method sends a add pin request App Control to TVApps app.
+ /// </summary>
public static void SendAddAppRequestToApps()
{
if (DependencyService.Get<IAppControl>() == null)
DependencyService.Get<IAppControl>().SendAddAppRequestToApps();
}
+ /// <summary>
+ /// A method sends a pin added notification App control to TVHome app.
+ /// </summary>
+ /// <param name="addedAddID">A app ID of newly added.</param>
public static void SendAppAddedNotificationToHome(string addedAddID)
{
if (DependencyService.Get<IAppControl>() == null)
DependencyService.Get<IAppControl>().SendAppAddedNotificationToHome(addedAddID);
}
+ /// <summary>
+ /// A method terminates caller application.
+ /// </summary>
public static void SelfTerminate()
{
if (DependencyService.Get<IAppLifeControl>() == null)
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A class manages App Shortcuts by using subsystem.
+ /// </summary>
public class AppShortcutStorage
{
- // TODO : Make this working proeprly, a accessing below directory is not permitted.
+ /// <summary>
+ /// A storage path.
+ /// </summary>
+ // TODO : Make this working properly, a accessing below directory is not permitted.
// private String storagePath = "/home/owner/apps_rw/TVHome.TizenTV/res/pinned_apps_info.xml";
private static String storagePath = "/opt/usr/home/owner/share/pinned_apps_info.xml";
+ /// <summary>
+ /// A file system watcher which checks if the targeted storage is changed.
+ /// </summary>
private static IFileSystemWatcherAPIs fileSystemWatcher = DependencyService.Get<IFileSystemWatcherAPIs>();
+
+ /// <summary>
+ /// A instance of AppShortcutStorage.
+ /// </summary>
private static AppShortcutStorage instance = new AppShortcutStorage();
+ /// <summary>
+ /// A instance of AppShortcutStorage.
+ /// </summary>
public static AppShortcutStorage Instance
{
get { return instance; }
}
+ /// <summary>
+ /// A constructor of AppShortcutStorage.
+ /// </summary>
private AppShortcutStorage()
{
fileSystemWatcher.Run();
}
+ /// <summary>
+ /// A method provides sample App Shortcuts.
+ /// </summary>
+ /// <returns>a App Shortcut list</returns>
private static List<AppShortcutInfo> GetSampleList()
{
var pinnedAppsInfo = new List<AppShortcutInfo>();
return pinnedAppsInfo;
}
+ /// <summary>
+ /// A method provides a App Shortcut list.
+ /// </summary>
+ /// <returns>A App Shortcut list.</returns>
public static async Task<IEnumerable<AppShortcutInfo>> Read()
{
IFileSystemAPIs fileSystem = DependencyService.Get<IFileSystemAPIs>();
}
await Task.Delay(100);
- DebuggingUtils.Dbg("[" + i + "/5] Waiting for Writting" + storagePath);
+ DebuggingUtils.Dbg("[" + i + "/5] Waiting for Writing" + storagePath);
}
using (Stream fileStream = fileSystem.OpenFile(storagePath, UtilFileMode.Open))
}
}
+ /// <summary>
+ /// A method updates App Shortcuts of the storage
+ /// </summary>
+ /// <param name="pinnedAppInfo">A App Shortcuts that pinned by a user.</param>
+ /// <returns>A status of storage update.</returns>
public static bool Write(IEnumerable<AppShortcutInfo> pinnedAppInfo)
{
IFileSystemAPIs fileSystem = DependencyService.Get<IFileSystemAPIs>();
return true;
}
+ /// <summary>
+ /// A method sets a event listener for the storage watcher
+ /// </summary>
+ /// <param name="eventListener">A event handler for the storage event </param>
public void AddStorageChangedListener(EventHandler<EventArgs> eventListener)
{
fileSystemWatcher.CustomChanged += eventListener;
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A class provides Date, Time related functions
+ /// </summary>
public class DateUtils
{
+ /// <summary>
+ /// A random seed
+ /// </summary>
private static Random seed = new Random();
+ /// <summary>
+ /// A method provides a random date.
+ /// </summary>
+ /// <returns>A date</returns>
public static DateTime GetRandomDate()
{
DateTime baseDate = new DateTime(2015, 1, 1);
/// </summary>
public sealed class DebuggingUtils
{
+ /// <summary>
+ /// A debugging API interface
+ /// </summary>
private static IDebuggingAPIs ism;
+
+ /// <summary>
+ /// A instance of DebuggingUtils
+ /// </summary>
private static readonly DebuggingUtils instance = new DebuggingUtils();
/// <summary>
/// This is required for the unit testing of the Calculator application. </summary>
private class DefaultSM : IDebuggingAPIs
{
+ /// <summary>
+ /// A method displays a error log. </summary>
+ /// <param name="message"> A error message.</param>
+ /// <param name="file"> A file name.</param>
+ /// <param name="func"> A function name.</param>
+ /// <param name="line"> A line number.</param>
public void Dbg(string message, String file, String func, Int32 line)
{
}
+ /// <summary>
+ /// A method displays a dialog with a given message. </summary>
+ /// <param name="message"> A debugging message.</param>
+ /// <param name="file"> A file name.</param>
+ /// <param name="func"> A function name.</param>
+ /// <param name="line"> A line number.</param>
public void Err(string message, String file, String func, Int32 line)
{
}
+ /// <summary>
+ /// A method displays a debugging log. </summary>
+ /// <param name="message"> A debugging message.</param>
public void Popup(string message)
{
}
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A interface for App Control feature
+ /// </summary>
public interface IAppControl
{
- void SendLaunchRequest(string PkgID);
+ /// <summary>
+ /// A method makes the package ID's app to be launched.
+ /// </summary>
+ /// <param name="pkgID">A package ID of the targeted application.</param>
+ void SendLaunchRequest(string pkgID);
+ /// <summary>
+ /// A method sends a add pin request App Control to TVApps app.
+ /// </summary>
void SendAddAppRequestToApps();
+ /// <summary>
+ /// A method sends a pin added notification App control to TVHome app.
+ /// </summary>
+ /// <param name="addedAddID">A app ID of newly added.</param>
void SendAppAddedNotificationToHome(string addedAddID);
}
}
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A Interface for app life management.
+ /// </summary>
public interface IAppLifeControl
{
+ /// <summary>
+ /// A method terminates the caller app.
+ /// </summary>
void SelfTerminate();
}
}
using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using System.Threading.Tasks;
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A class to store RecentApp information.
+ /// </summary>
public class RecentApp
{
+ /// <summary>
+ /// A Recent instance ID
+ /// </summary>
public String instanceID;
+
+ /// <summary>
+ /// A Recent instance label
+ /// </summary>
public String instanceLabel;
+
+ /// <summary>
+ /// A app ID
+ /// </summary>
public String appID;
+
+ /// <summary>
+ /// A app label
+ /// </summary>
public String applabel;
+
+ /// <summary>
+ /// A app icon path
+ /// </summary>
public String iconPath;
+
+ /// <summary>
+ /// A last launched data
+ /// </summary>
public DateTime launchedTime;
+
+ /// <summary>
+ /// A URI of accessible content if the Recent is a content.
+ /// </summary>
public String uri;
}
+ /// <summary>
+ /// A interface for Application Manager feature
+ /// </summary>
public interface IApplicationManagerAPIs
{
+ /// <summary>
+ /// A method provides installed application list.
+ /// </summary>
+ /// <returns>A installed application list</returns>
Task<Dictionary<string, string[]>> GetAllInstalledApplication();
+
+ /// <summary>
+ /// A method provides a recent application list.
+ /// </summary>
+ /// <returns>A Recent application list.</returns>
IEnumerable<RecentApp> GetRecentApplications();
+
+ /// <summary>
+ /// A method provides application information which is matched with the given app ID.
+ /// </summary>
+ /// <param name="applicationId">A application ID</param>
+ /// <returns>A installed application information</returns>
Dictionary<string, string> GetInstalledApplication(string applicationId);
}
}
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A Bluetooth interface.
+ /// </summary>
public interface IBTAPIs
{
+ /// <summary>
+ /// A method turns on the Bluetooth
+ /// </summary>
void BTOn();
+ /// <summary>
+ /// A method turns off the Bluetooth
+ /// </summary>
void BTOff();
+ /// <summary>
+ /// A method launches BT settings app.
+ /// </summary>
void LaunchBTSetting();
}
}
namespace LibTVRefCommonPortable.Utils
{
- //
- // 요약:
- // 운영 체제에서 파일을 여는 방법을 지정합니다.
+ /// <summary>
+ /// A enumeration for the file open mode.
+ /// </summary>
public enum UtilFileMode
{
CreateNew = 1,
Append = 6
}
+ /// <summary>
+ /// A interface for the file operations
+ /// </summary>
public interface IFileSystemAPIs
{
+ /// <summary>
+ /// A method opens a file on the given mode.
+ /// </summary>
+ /// <param name="filePath">A file path</param>
+ /// <param name="mode">A opening mode</param>
+ /// <returns>A file descriptor</returns>
Stream OpenFile(string filePath, UtilFileMode mode);
+ /// <summary>
+ /// A method flushing the stream to write remains.
+ /// </summary>
+ /// <param name="stream">A file descriptor</param>
void Flush(Stream stream);
+ /// <summary>
+ /// A method closes the file.
+ /// </summary>
+ /// <param name="stream">A file descriptor</param>
void CloseFile(Stream stream);
- bool IsFileExist(String fileName);
+ /// <summary>
+ /// A method checks if a file existence in the file system.
+ /// </summary>
+ /// <param name="filePath">A file path</param>
+ /// <returns>A existence of the file</returns>
+ bool IsFileExist(String filePath);
- bool IsFileReady(String fileName);
+ /// <summary>
+ /// A method checks if file is read to use.
+ /// </summary>
+ /// <param name="filePath">A file path</param>
+ /// <returns>A status of ready</returns>
+ bool IsFileReady(String filePath);
}
}
*/
using System;
-using LibTVRefCommonPortable.DataModels;
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A interface for the file system watcher.
+ /// </summary>
public interface IFileSystemWatcherAPIs
{
+ /// <summary>
+ /// A EventHandler for the file system watcher.
+ /// </summary>
event EventHandler<EventArgs> CustomChanged;
+
+ /// <summary>
+ /// A method starts the file system watcher.
+ /// </summary>
void Run();
}
}
* limitations under the License.
*/
-using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
namespace LibTVRefCommonPortable.Utils
{
/// <summary>
- /// A interface contains debugging methods which are using platform subsystems.
+ /// A interface for package manager subsystem.
/// </summary>
- /// <remarks>
- /// Implementing this class should be occurred in platform project.
- /// Also the implementation should be registered to the DependencyService in a app initialization.
- /// Please refer to Xamarin Dependency Service
- /// https://developer.xamarin.com/guides/xamarin-forms/dependency-service/introduction/
- /// </remarks>
public interface IPackageManager
{
+ /// <summary>
+ /// A method provides installed package list.
+ /// </summary>
+ /// <returns>A package list</returns>
Dictionary<string, string[]> GetPackageList();
+ /// <summary>
+ /// A method provides a detail information (TBD)
+ /// </summary>
+ /// <param name="PkgID">A package ID</param>
+ /// <returns>A package label</returns>
string GetPackage(string PkgID);
+ /// <summary>
+ /// A method removes the package.
+ /// </summary>
+ /// <param name="pkgID">A package ID</param>
+ /// <returns>A status of uninstall</returns>
bool UninstallPackage(string pkgID);
+ /// <summary>
+ /// A method remove the package by using a app ID.
+ /// </summary>
+ /// <param name="appID">A app ID</param>
+ /// <returns>A status of uninstall</returns>
bool UninstallPackageByAppID(string appID);
}
}
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A interface for the platform notification.
+ /// </summary>
public interface IPlatformNotification
{
+ /// <summary>
+ /// A method will be called when the Home remote control key is pressed.
+ /// </summary>
void OnHomeKeyPressed();
+ /// <summary>
+ /// A method will be called when the Menu remote control key is pressed.
+ /// </summary>
void OnMenuKeyPressed();
+ /// <summary>
+ /// A method will be called if a app is installed.
+ /// </summary>
+ /// <param name="pkgID">A package ID of newly installed.</param>
void OnAppInstalled(string pkgID);
+ /// <summary>
+ /// A method will be called if a app is uninstalled.
+ /// </summary>
+ /// <param name="pkgID">A package ID of uninstalled.</param>
void OnAppUninstalled(string pkgID);
+ /// <summary>
+ /// A method will be called if the app gets a pin app App Control request.
+ /// </summary>
void OnPinAppRequestReceived();
+ /// <summary>
+ /// A method will be called if the app gets a app pinned notification App Control request.
+ /// </summary>
+ /// <param name="appID">A pinned app ID</param>
void OnAppPinnedNotificationReceived(string appID);
}
}
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A interface for the TVHomeImpl class
+ /// The Models' instances in the TVHomeImpl class,
+ /// so to use the Models from other files, it should access the instance of the TVHomeImpl.
+ /// To reduce dependency between the TVHome and any other file,
+ /// the instance of the TVHomeImpl will be provided as a ITVHome interface.
+ /// </summary>
public interface ITVHome
{
+ /// <summary>
+ /// A instance of the AppShortcutController
+ /// </summary>
+ /// <see cref="AppShortcutController"/>
AppShortcutController AppShortcutControllerInstance
{
get;
}
+ /// <summary>
+ /// A instance of the RecentShortcutController
+ /// </summary>
+ /// <see cref="RecentShortcutController"/>
RecentShortcutController RecentShortcutControllerInstance
{
get;
}
+ /// <summary>
+ /// A instance of the SettingShortcutController
+ /// </summary>
+ /// <see cref="SettingShortcutController"/>
SettingShortcutController SettingShortcutControllerInstance
{
get;
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A class for the WiFi function control
+ /// </summary>
public interface IWifiAPIs
{
+ /// <summary>
+ /// A method turns on the WiFi.
+ /// </summary>
void WifiOn();
+ /// <summary>
+ /// A method turns off the WiFi.
+ /// </summary>
void WifiOff();
+ /// <summary>
+ /// A method launches the WiFi Settings app.
+ /// </summary>
void LaunchWifiSetting();
}
}
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A interface for the Window management.
+ /// </summary>
public interface IWindowAPIs
{
+ /// <summary>
+ /// A method minimizes the app's window.
+ /// </summary>
+ /// <param name="iconified">A minimize status</param>
void SetIconified(bool iconified);
+
+ /// <summary>
+ /// A method provides a minimized status of the App.
+ /// </summary>
+ /// <returns>A status of minimized of app.</returns>
bool GetIconified();
}
}
* limitations under the License.
*/
-using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-using LibTVRefCommonPortable.Utils;
using Xamarin.Forms;
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A class for package manager function.
+ /// </summary>
public sealed class PackageManagerUtils
{
+ /// <summary>
+ /// A method provides installed package list.
+ /// </summary>
+ /// <returns>A package list</returns>
public static Dictionary<string, string[]> GetPackageList()
{
if (DependencyService.Get<IPackageManager>() == null)
return DependencyService.Get<IPackageManager>().GetPackageList();
}
+ /// <summary>
+ /// A method provides a detail information (TBD)
+ /// </summary>
+ /// <param name="PkgID">A package ID</param>
+ /// <returns>A package label</returns>
public static string GetPackage(string PkgID)
{
if (DependencyService.Get<IPackageManager>() == null)
return DependencyService.Get<IPackageManager>().GetPackage(PkgID);
}
+ /// <summary>
+ /// A method removes the package.
+ /// </summary>
+ /// <param name="pkgID">A package ID</param>
+ /// <returns>A status of uninstall</returns>
public static bool UninstallPackage(string pkgID)
{
if (DependencyService.Get<IPackageManager>() == null)
return DependencyService.Get<IPackageManager>().UninstallPackage(pkgID);
}
+ /// <summary>
+ /// A method remove the package by using a app ID.
+ /// </summary>
+ /// <param name="appID">A app ID</param>
+ /// <returns>A status of uninstall</returns>
public static bool UninstallPackageByAppID(string appID)
{
if (DependencyService.Get<IPackageManager>() == null)
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A class to manage the Recent Shortcuts.
+ /// </summary>
public class RecentShortcutStorage
{
- public RecentShortcutStorage()
- {
-
- }
-
+ /// <summary>
+ /// A method creates the Recent Shortcut.
+ /// </summary>
+ /// <returns>A status of Recent Shortcut creation.</returns>
public static bool Create()
{
+ // TODO : make a recent content
return false;
}
+ /// <summary>
+ /// A method provides a Recent Shortcut information which is matched with the given key.
+ /// </summary>
+ /// <param name="key">A recent shortcut's ID</param>
+ /// <returns>A Recent Shortcut Infomation</returns>
public static RecentShortcutInfo Read(string key)
{
RecentShortcutInfo recentShortcutInfo = new RecentShortcutInfo();
return recentShortcutInfo;
}
+ /// <summary>
+ /// A method provides all Recent Shortcuts' information list.
+ /// </summary>
+ /// <returns>a Recent Shortcut information list.</returns>
public static IEnumerable<RecentShortcutInfo> Read()
{
List<RecentShortcutInfo> list = new List<RecentShortcutInfo>();
return list;
}
+ /// <summary>
+ /// A method updates a Recent Shortcut.
+ /// </summary>
+ /// <param name="shortcut">A recent Shortcut</param>
+ /// <returns>A status of update.</returns>
public static bool Update(ShortcutInfo shortcut)
{
- // 받은 인자는 조정이 필요함.
return false;
}
+ /// <summary>
+ /// A method deletes a Recent Shortcut.
+ /// </summary>
+ /// <param name="shortcut">A recent Shortcut</param>
public static void Delete(ShortcutInfo shortcut)
{
- // 받은 인자는 조정이 필요함.
}
+ /// <summary>
+ /// A method deletes all Recent Shortcuts.
+ /// </summary>
public static void DeleteAll()
{
- // 받은 인자는 조정이 필요함.
}
}
}
namespace LibTVRefCommonPortable.Utils
{
+ /// <summary>
+ /// A main instance class of the TVHome, TVApps to providing the Model functions.
+ /// This class is a kind of the Singleton class and includes major Model classes
+ /// such as the AppShortcutController, the RecentShortcutController, and the SettingShortcutcontroller
+ /// that are providing major functions related with TVHome, TVApps using scenarios.
+ /// </summary>
+ /// <see cref="AppShortcutController"/>
+ /// <see cref="RecentShortcutController"/>
+ /// <see cref="SettingShortcutController"/>
public class TVHomeImpl : ITVHome
{
+ /// <summary>
+ /// A instance of the TVHomeImpl
+ /// </summary>
private static readonly TVHomeImpl instance = new TVHomeImpl();
+
+ /// <summary>
+ /// A instance of the TVHomeImpl
+ /// </summary>
public static ITVHome GetInstance
{
get
}
}
+ /// <summary>
+ /// A constructor of TVHomeImpl
+ /// Initializes Model implementations.
+ /// </summary>
private TVHomeImpl()
{
}
+ /// <summary>
+ /// A instance of the AppShortcutController
+ /// </summary>
private static readonly AppShortcutController appShortcutController = new AppShortcutController();
public AppShortcutController AppShortcutControllerInstance
{
}
}
+ /// <summary>
+ /// A instance of the RecentShortcutController
+ /// </summary>
private static readonly RecentShortcutController recentShortcutController = new RecentShortcutController();
public RecentShortcutController RecentShortcutControllerInstance
{
}
}
+ /// <summary>
+ /// A instance of the SettingShortcutController
+ /// </summary>
private static readonly SettingShortcutController settingShortcutController = new SettingShortcutController();
public SettingShortcutController SettingShortcutControllerInstance
{