diff --git a/CampusAppWP8/CampusAppDLL/Model/Campusmap/MapModel.cs b/CampusAppWP8/CampusAppDLL/Model/Campusmap/MapModel.cs index 50edaf3c..c540c414 100644 --- a/CampusAppWP8/CampusAppDLL/Model/Campusmap/MapModel.cs +++ b/CampusAppWP8/CampusAppDLL/Model/Campusmap/MapModel.cs @@ -8,6 +8,7 @@ namespace CampusAppDLL.Model.Campusmap { using CampusAppDLL.Model.GeoDb; + using CampusAppDLL.Utility; using System; /// @@ -41,6 +42,8 @@ namespace CampusAppDLL.Model.Campusmap /// Stubbfel, 19.08.2013. protected virtual void LoadSpatials(string xmlFilePath) { + SpsModel model = XmlManager.DeserializationFileToModel(xmlFilePath); + this.Spatial = model; } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Api/GeoApi/PisApi.cs b/CampusAppWP8/CampusAppWP8/Api/GeoApi/PisApi.cs index 958ea718..ed6af279 100644 --- a/CampusAppWP8/CampusAppWP8/Api/GeoApi/PisApi.cs +++ b/CampusAppWP8/CampusAppWP8/Api/GeoApi/PisApi.cs @@ -8,12 +8,12 @@ namespace CampusAppWP8.Api.GeoApi { - using System.Collections.Generic; using CampusAppWP8.Model; using CampusAppWP8.Model.GeoDb; - using CampusAppWP8.Model.Utility; using CampusAppWP8.Resources; - using CampusAppWPortalLib8.Model.Utility; + using CampusAppWPortalLib8.Model; + using CampusAppWPortalLib8.Model.Utility; + using System.Collections.Generic; /// Pis api. /// Stubbfel, 09.09.2013. diff --git a/CampusAppWP8/CampusAppWP8/Api/GeoApi/PssApi.cs b/CampusAppWP8/CampusAppWP8/Api/GeoApi/PssApi.cs index 7ff2444c..a018a069 100644 --- a/CampusAppWP8/CampusAppWP8/Api/GeoApi/PssApi.cs +++ b/CampusAppWP8/CampusAppWP8/Api/GeoApi/PssApi.cs @@ -8,12 +8,12 @@ namespace CampusAppWP8.Api.GeoApi { - using System.Collections.Generic; using CampusAppWP8.Model; using CampusAppWP8.Model.GeoDb; - using CampusAppWP8.Model.Utility; using CampusAppWP8.Resources; + using CampusAppWPortalLib8.Model; using CampusAppWPortalLib8.Model.Utility; + using System.Collections.Generic; /// Pss api. /// Stubbfel, 09.09.2013. diff --git a/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs b/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs index 2a0988ef..02a90600 100644 --- a/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs +++ b/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs @@ -13,7 +13,8 @@ namespace CampusAppWP8.Api.GeoApi using CampusAppWP8.Model.Utility; using CampusAppWP8.Resources; using CampusAppWP8.Utility; - using CampusAppWPortalLib8.Model.Utility; + using CampusAppWPortalLib8.Model.Utility; + using CampusAppWPortalLib8.Model; /// /// Class for SPSAPI diff --git a/CampusAppWP8/CampusAppWP8/Api/Lecture/LectureApi.cs b/CampusAppWP8/CampusAppWP8/Api/Lecture/LectureApi.cs index bf49bb08..3a13bb3d 100644 --- a/CampusAppWP8/CampusAppWP8/Api/Lecture/LectureApi.cs +++ b/CampusAppWP8/CampusAppWP8/Api/Lecture/LectureApi.cs @@ -10,6 +10,7 @@ namespace CampusAppWP8.Api.Lecture using CampusAppWP8.Model; using CampusAppWP8.Model.Lecture; using CampusAppWP8.Resources; + using CampusAppWPortalLib8.Model; /// /// Class for the feed of the Lecture diff --git a/CampusAppWP8/CampusAppWP8/Api/Person/PersonSearchApi.cs b/CampusAppWP8/CampusAppWP8/Api/Person/PersonSearchApi.cs index 50ab4ef2..a982fb99 100644 --- a/CampusAppWP8/CampusAppWP8/Api/Person/PersonSearchApi.cs +++ b/CampusAppWP8/CampusAppWP8/Api/Person/PersonSearchApi.cs @@ -11,6 +11,7 @@ namespace CampusAppWP8.Api.Person using CampusAppWP8.Model; using CampusAppWP8.Model.Person; using CampusAppWP8.Resources; + using CampusAppWPortalLib8.Model; /// Person search api. /// Stubbfel, 05.09.2013. diff --git a/CampusAppWP8/CampusAppWP8/Feed/Departments/DepartmentFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Departments/DepartmentFeed.cs index 40733f3a..0aca15ba 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Departments/DepartmentFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Departments/DepartmentFeed.cs @@ -13,6 +13,7 @@ namespace CampusAppWP8.Feed.Departments using CampusAppWP8.Model.Departments; using CampusAppWP8.Resources; using CampusAppWP8.Utility; + using CampusAppWPortalLib8.Model; /// /// Feed class for the department information. diff --git a/CampusAppWP8/CampusAppWP8/Feed/Events/EventFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Events/EventFeed.cs index f132c4f2..4e98bba6 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Events/EventFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Events/EventFeed.cs @@ -13,6 +13,7 @@ namespace CampusAppWP8.Feed.Events using CampusAppWP8.Resources; using CampusAppWP8.Utility; using CampusAppWPortalLib8.Model.RSS; + using CampusAppWPortalLib8.Model; /// /// Event Feed. diff --git a/CampusAppWP8/CampusAppWP8/Feed/Exams/ExamFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Exams/ExamFeed.cs index 474b74f2..3d98da26 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Exams/ExamFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Exams/ExamFeed.cs @@ -12,6 +12,7 @@ namespace CampusAppWP8.Feed.Exams using CampusAppWP8.Model.Exams; using CampusAppWP8.Resources; using CampusAppWP8.Utility; + using CampusAppWPortalLib8.Model; /// Exam feed. /// Stubbfel, 02.09.2013. diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs index 98d1c57c..d48aa593 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs @@ -13,6 +13,7 @@ namespace CampusAppWP8.Feed.Link using CampusAppWP8.Model.Link; using CampusAppWP8.Resources; using CampusAppWP8.Utility; + using CampusAppWPortalLib8.Model; /// /// This Class is for ClubLinkFeeds diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs index dbdc8e3d..20fd7b67 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs @@ -13,6 +13,7 @@ namespace CampusAppWP8.Feed.Link using CampusAppWP8.Model.Link; using CampusAppWP8.Resources; using CampusAppWP8.Utility; + using CampusAppWPortalLib8.Model; /// /// This Class is for CommonLinkFeeds diff --git a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs index ff79851f..6f117f4a 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs @@ -11,6 +11,7 @@ namespace CampusAppWP8.Feed.Mensa using System.IO; using CampusAppWP8.Model; using CampusAppWPortalLib8.Model.Mensa; + using CampusAppWPortalLib8.Model; /// /// This Class is for MensaFeeds diff --git a/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs index 89a5ae4a..2c1edf66 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs @@ -13,6 +13,7 @@ namespace CampusAppWP8.Feed.News using CampusAppWP8.Resources; using CampusAppWP8.Utility; using CampusAppWPortalLib8.Model.RSS; + using CampusAppWPortalLib8.Model; /// /// News Feed. diff --git a/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs index b84ebc33..9ee3a87c 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs @@ -13,6 +13,7 @@ namespace CampusAppWP8.Feed.Openinghours using CampusAppWP8.Model.Openinghours; using CampusAppWP8.Resources; using CampusAppWP8.Utility; + using CampusAppWPortalLib8.Model; /// /// This Class is for MesaFeeds diff --git a/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs index 91d3fe4c..abd7d900 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs @@ -13,6 +13,7 @@ namespace CampusAppWP8.Feed.StudentCouncil using CampusAppWP8.Model.StudentCouncil; using CampusAppWP8.Resources; using CampusAppWP8.Utility; + using CampusAppWPortalLib8.Model; /// /// This Class is for StudentCouncilFeed diff --git a/CampusAppWP8/CampusAppWP8/File/Departments/DepartmentFavoriteFile.cs b/CampusAppWP8/CampusAppWP8/File/Departments/DepartmentFavoriteFile.cs index 7d7e3861..ea7d1511 100644 --- a/CampusAppWP8/CampusAppWP8/File/Departments/DepartmentFavoriteFile.cs +++ b/CampusAppWP8/CampusAppWP8/File/Departments/DepartmentFavoriteFile.cs @@ -11,6 +11,7 @@ namespace CampusAppWP8.File.Departments using CampusAppWP8.Model; using CampusAppWP8.Model.Departments; using CampusAppWP8.Resources; + using CampusAppWPortalLib8.Model; /// /// Feed object to handle favorite department feeds. diff --git a/CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs b/CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs index a247b587..2e7e84b0 100644 --- a/CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs +++ b/CampusAppWP8/CampusAppWP8/File/Exams/ExamFile.cs @@ -30,7 +30,7 @@ namespace CampusAppWP8.File.Exams /// Filename of the file. /// URL of the document. public ExamFile(string fileName, string url) - : base(ModelType.FileAndFeed, fileName, url) + : base(CampusAppWPortalLib8.Model.ModelType.FileAndFeed, fileName, url) { this.IsFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDate); this.IsModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); @@ -50,7 +50,7 @@ namespace CampusAppWP8.File.Exams { if (this.storageFile == null) { - this.storageFile = await this.file.AsStorageFile(); + this.storageFile = await ((CampusAppWP8.Utility.File)(this.file)).AsStorageFile(); } if (this.storageFile != null) diff --git a/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs b/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs index 58991d42..e6d2945a 100644 --- a/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs +++ b/CampusAppWP8/CampusAppWP8/File/Places/PlacesFile.cs @@ -22,7 +22,7 @@ namespace CampusAppWP8.File.Places /// Initializes a new instance of the PlacesFile class. /// Stubbfel, 09.09.2013. public PlacesFile() - : base(ModelType.File, Constants.FilePlace_AllPlaces) + : base(CampusAppWPortalLib8.Model.ModelType.File, Constants.FilePlace_AllPlaces) { this.OnFailedFile += new OnFailed(this.FallBackLoad); this.IsFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDate); diff --git a/CampusAppWP8/CampusAppWP8/Model/BinaryModel.cs b/CampusAppWP8/CampusAppWP8/Model/BinaryModel.cs index a372e9d9..24a2e809 100644 --- a/CampusAppWP8/CampusAppWP8/Model/BinaryModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/BinaryModel.cs @@ -6,6 +6,7 @@ // 03.09.2013 //---------------------------------------------------------------------- +using CampusAppWPortalLib8.Model; namespace CampusAppWP8.Model { /// Binary model. @@ -41,7 +42,7 @@ namespace CampusAppWP8.Model /// Stubbfel, 03.09.2013. /// Information describing the model. /// true if it succeeds, false if it fails. - protected override bool DeserializeModel(byte[] modelData) + public override bool DeserializeModel(byte[] modelData) { bool retValue = true; @@ -60,7 +61,7 @@ namespace CampusAppWP8.Model /// Gets the serialize model. /// Stubbfel, 03.09.2013. /// an byte Array. - protected override byte[] SerializeModel() + public override byte[] SerializeModel() { return this.Model; } diff --git a/CampusAppWP8/CampusAppWP8/Model/MainModel.cs b/CampusAppWP8/CampusAppWP8/Model/MainModel.cs index fb55ccf4..c87bf18c 100644 --- a/CampusAppWP8/CampusAppWP8/Model/MainModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/MainModel.cs @@ -8,7 +8,9 @@ namespace CampusAppWP8 { using CampusAppWP8.Utility; + using CampusAppWPortalLib8.Model; using CampusAppWPortalLib8.Model.Utility; + using CampusAppWPortalLib8.Utility; using System; using System.Collections.Generic; using System.IO; @@ -18,7 +20,7 @@ namespace CampusAppWP8 /// Base model io handling class. /// /// model type - public abstract class MainModel + public abstract class MainModel : IMainModel { #region Member @@ -182,53 +184,11 @@ namespace CampusAppWP8 /// Callback pointer, for checking if model is up to date at saving. /// (currently unused) /// + #pragma warning disable 0067 public event IsModelUpToDate IsModelUpToDateOnSave = null; #endregion - #region Enum - - /// - /// Specifies the I/O type of the model. - /// - public enum ModelType - { - /// - /// Invalid/unset state. - /// - INVALID = 0, - - /// - /// File only (01). - /// - File = 1, - - /// - /// Feed only (10). - /// - Feed = 2, - - /// - /// File and feed (11). - /// - FileAndFeed = 3 - } - - /// Values that represent ForceType for load function. - public enum ForceType - { - /// An enumeration constant representing the invalid/default/unset option. - INVALID = 0, - - /// An enumeration constant representing the force file option. - FORCE_FILE = 1, - - /// An enumeration constant representing the force web option. - FORCE_WEB = 2 - } - - #endregion - #region Property /// @@ -436,22 +396,22 @@ namespace CampusAppWP8 this.paramizedUri = null; } - #endregion - - #region protected - /// /// Abstract declaration of the model deserialize function. /// /// model data as byte array /// true, is succeeded - protected abstract bool DeserializeModel(byte[] modelData); + public abstract bool DeserializeModel(byte[] modelData); /// /// Abstract declaration of the model serialize function. /// /// model data as byte array - protected abstract byte[] SerializeModel(); + public abstract byte[] SerializeModel(); + + #endregion + + #region protected /// /// Check if the model io type is file. diff --git a/CampusAppWP8/CampusAppWP8/Model/XmlModel.cs b/CampusAppWP8/CampusAppWP8/Model/XmlModel.cs index 27d6108a..83c936ad 100644 --- a/CampusAppWP8/CampusAppWP8/Model/XmlModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/XmlModel.cs @@ -9,12 +9,13 @@ namespace CampusAppWP8.Model { using System.Text; using CampusAppWPortalLib8.Utility; + using CampusAppWPortalLib8.Model; /// /// Xml model io handler class. /// /// model type - public abstract class XmlModel : MainModel + public abstract class XmlModel : MainModel, IXmlModel { #region Constructor @@ -44,19 +45,23 @@ namespace CampusAppWP8.Model #endregion - #region Method + #region Property /// /// Gets or sets for the name of the root-tag /// - protected string ValidRootName { get; set; } + public string ValidRootName { get; set; } + + #endregion + + #region Method /// /// Create the model from a xml byte array. /// /// model data /// true, if succeeded - protected override bool DeserializeModel(byte[] modelData) + public override bool DeserializeModel(byte[] modelData) { bool retValue = true; @@ -79,7 +84,7 @@ namespace CampusAppWP8.Model /// Serializes the model to a byte array. /// /// model data - protected override byte[] SerializeModel() + public override byte[] SerializeModel() { byte[] retValue = null; diff --git a/CampusAppWP8/CampusAppWP8/Utility/File.cs b/CampusAppWP8/CampusAppWP8/Utility/File.cs index d49ee632..7b816090 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/File.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/File.cs @@ -17,7 +17,7 @@ namespace CampusAppWP8.Utility /// /// File class. /// - public class File + public class File : AbstractFile { #region Member @@ -45,15 +45,6 @@ namespace CampusAppWP8.Utility #endregion - #region Events - - /// - /// Delegation of the write callback function prototype. - /// - public delegate void WriteCallbackFunc(); - - #endregion - #region Method #region public @@ -61,7 +52,7 @@ namespace CampusAppWP8.Utility /// Read data from file to a string. /// Stubbfel, 03.09.2013. /// data string. - public byte[] ReadFile() + public override byte[] ReadFile() { byte[] retValue = null; @@ -78,7 +69,7 @@ namespace CampusAppWP8.Utility /// data byte array. /// callback function, called after writing is done. /// callback function, called when writing failed. - public void WriteFile(byte[] data, WriteCallbackFunc onSavedCallback, WriteCallbackFunc onFailedCallback) + public override void WriteFile(byte[] data, WriteCallbackFunc onSavedCallback, WriteCallbackFunc onFailedCallback) { Thread th = new Thread(delegate() { this.WriteAsync(data, onSavedCallback, onFailedCallback); }); th.Start(); @@ -98,7 +89,7 @@ namespace CampusAppWP8.Utility /// Check if a file is existing. /// /// true, if file exists, otherwise false - public bool Exist() + public override bool Exist() { return this.GetFileInfo().Exists; } diff --git a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs index 7d86ac7a..d786d7a8 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs @@ -18,6 +18,7 @@ namespace CampusAppWP8.Utility using CampusAppWP8.Resources; using Microsoft.Phone.Net.NetworkInformation; using CampusAppWPortalLib8.Utility; + using CampusAppWPortalLib8.Model; /// /// Collection of utility functions. @@ -347,15 +348,15 @@ namespace CampusAppWP8.Utility /// Stubbfel, 27.08.2013. /// Generic type parameter. /// The load modus< t> - public static MainModel.ForceType GetLoadModus() + public static ForceType GetLoadModus() { if (Settings.AppSetting.OnlyWifi && !Settings.AppSetting.WifiEnable) { - return MainModel.ForceType.FORCE_FILE; + return ForceType.FORCE_FILE; } else { - return MainModel.ForceType.INVALID; + return ForceType.INVALID; } } diff --git a/CampusAppWP8/CampusAppWPortalLib8/CampusAppWPortalLib8.csproj b/CampusAppWP8/CampusAppWPortalLib8/CampusAppWPortalLib8.csproj index 409d1953..5e82722f 100644 --- a/CampusAppWP8/CampusAppWPortalLib8/CampusAppWPortalLib8.csproj +++ b/CampusAppWP8/CampusAppWPortalLib8/CampusAppWPortalLib8.csproj @@ -33,14 +33,18 @@ 4 + + + + AppResources.resx @@ -54,6 +58,7 @@ + diff --git a/CampusAppWP8/CampusAppWPortalLib8/Model/ForcesTypes.cs b/CampusAppWP8/CampusAppWPortalLib8/Model/ForcesTypes.cs new file mode 100644 index 00000000..5bfd2377 --- /dev/null +++ b/CampusAppWP8/CampusAppWPortalLib8/Model/ForcesTypes.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CampusAppWPortalLib8.Model +{ + /// Values that represent ForceType for load function. + public enum ForceType + { + /// An enumeration constant representing the invalid/default/unset option. + INVALID = 0, + + /// An enumeration constant representing the force file option. + FORCE_FILE = 1, + + /// An enumeration constant representing the force web option. + FORCE_WEB = 2 + } +} diff --git a/CampusAppWP8/CampusAppWPortalLib8/Model/IMainModel.cs b/CampusAppWP8/CampusAppWPortalLib8/Model/IMainModel.cs new file mode 100644 index 00000000..154af71c --- /dev/null +++ b/CampusAppWP8/CampusAppWPortalLib8/Model/IMainModel.cs @@ -0,0 +1,48 @@ +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// fiedlchr +// 05.07.2013 +//----------------------------------------------------------------------------- +using CampusAppWPortalLib8.Model; +namespace CampusAppWPortalLib8.Utility +{ + /// + /// Base model io handling class. + /// + /// model type + public interface IMainModel + { + /// + /// Gets or sets the Model. + /// + T Model { get; set; } + + /// + /// Load the data if necessary, from web or from file, regarding if + /// the file data is up to date. + /// + /// if set/not invalid/not default, force to load from web or file + void LoadData(ForceType force = ForceType.INVALID); + + /// + /// Save the model data if necessary. + /// + /// force saving. DEFAULT: false + void SaveData(bool force = false); + + /// + /// Abstract declaration of the model deserialize function. + /// + /// model data as byte array + /// true, is succeeded + bool DeserializeModel(byte[] modelData); + + /// + /// Abstract declaration of the model serialize function. + /// + /// model data as byte array + byte[] SerializeModel(); + } +} \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWPortalLib8/Model/IXmlModel.cs b/CampusAppWP8/CampusAppWPortalLib8/Model/IXmlModel.cs new file mode 100644 index 00000000..2543b356 --- /dev/null +++ b/CampusAppWP8/CampusAppWPortalLib8/Model/IXmlModel.cs @@ -0,0 +1,27 @@ +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// fiedlchr +// 05.07.2013 +//----------------------------------------------------------------------------- +namespace CampusAppWPortalLib8.Model +{ + using CampusAppWPortalLib8.Utility; + + /// + /// Xml model io handler class. + /// + /// model type + public interface IXmlModel + { + #region Property + + /// + /// Gets or sets for the name of the root-tag + /// + string ValidRootName { get; set; } + + #endregion + } +} \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWPortalLib8/Model/ModelTypes.cs b/CampusAppWP8/CampusAppWPortalLib8/Model/ModelTypes.cs new file mode 100644 index 00000000..9964b4e3 --- /dev/null +++ b/CampusAppWP8/CampusAppWPortalLib8/Model/ModelTypes.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CampusAppWPortalLib8.Model +{ + /// + /// Specifies the I/O type of the model. + /// + public enum ModelType + { + /// + /// Invalid/unset state. + /// + INVALID = 0, + + /// + /// File only (01). + /// + File = 1, + + /// + /// Feed only (10). + /// + Feed = 2, + + /// + /// File and feed (11). + /// + FileAndFeed = 3 + } +} diff --git a/CampusAppWP8/CampusAppWPortalLib8/Utility/AbstractFile.cs b/CampusAppWP8/CampusAppWPortalLib8/Utility/AbstractFile.cs new file mode 100644 index 00000000..0724f50e --- /dev/null +++ b/CampusAppWP8/CampusAppWPortalLib8/Utility/AbstractFile.cs @@ -0,0 +1,52 @@ +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// fiedlchr +// 03.05.2013 +//----------------------------------------------------------------------------- +namespace CampusAppWPortalLib8.Utility +{ + /// + /// File class. + /// + public abstract class AbstractFile + { + #region Events + + /// + /// Delegation of the write callback function prototype. + /// + public delegate void WriteCallbackFunc(); + + #endregion + + #region Method + + #region public + + /// Read data from file to a string. + /// Stubbfel, 03.09.2013. + /// data string. + public abstract byte[] ReadFile(); + + /// Write bytes to the file. + /// Stubbfel, 03.09.2013. + /// data byte array. + /// callback function, called after writing is done. + /// callback function, called when writing failed. + public abstract void WriteFile(byte[] data, WriteCallbackFunc onSavedCallback, WriteCallbackFunc onFailedCallback); + + /// + /// Check if a file is existing. + /// + /// true, if file exists, otherwise false + public abstract bool Exist(); + + + #endregion + + + #endregion + } +} \ No newline at end of file