From 8a59643571080bfff715f0b0e4bb03e2dee4961a Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 12 Jun 2018 15:47:10 +0300 Subject: Starting splitting PPC to modules. --- .../PPC/Tango.PPC.Common/IPPCModule.cs | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCModule.cs (limited to 'Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCModule.cs') diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCModule.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCModule.cs new file mode 100644 index 000000000..6c9bf3892 --- /dev/null +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/IPPCModule.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; +using Tango.BL.Entities; +using Tango.BL.Enumerations; + +namespace Tango.PPC.Common +{ + /// + /// Represents a Machine Studio module. + /// + /// + public interface IPPCModule : IDisposable + { + /// + /// Gets the module name. + /// + String Name { get; } + + /// + /// Gets the module description. + /// + String Description { get; } + + /// + /// Gets the module cover image. + /// + BitmapSource Image { get; } + + /// + /// Gets the module entry point view type. + /// + Type MainViewType { get; } + + /// + /// Gets or sets a value indicating whether this module is shown under a new window. + /// + bool InNewWindow { get; set; } + + /// + /// Gets the permission required to see and load this module. + /// + Permissions Permission { get; } + + /// + /// Gets a value indicating whether this module has been initialized. + /// + bool IsInitialized { get; } + + /// + /// Perform any operations required to initialize this module. + /// + void Initialize(); + + /// + /// Sets a value indicating whether this module is loaded. + /// + bool IsLoaded { set; get; } + } +} -- cgit v1.3.1