/[gr2lib]/trunk/gr2lib/core/coreclasses/apiversion/granny2apiversion.cs
ViewVC logotype

Diff of /trunk/gr2lib/core/coreclasses/apiversion/granny2apiversion.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- trunk/gr2lib/core/coreclasses/apiversion/granny2apiversion.cs	2010/07/15 08:23:03	55
+++ trunk/gr2lib/core/coreclasses/apiversion/granny2apiversion.cs	2010/07/18 06:14:54	133
@@ -4,21 +4,26 @@
 
 using gr2lib.core.typedefs;
 using gr2lib.core.exceptions;
+using gr2lib.core.interfaces;
+using System.ComponentModel;
 
 namespace gr2lib.core.apiversion
 {
     #region public class VersionType
     public interface Iversiontype
     {
-        granny_int32x major { get; }
-        granny_int32x minor { get; }
-        granny_int32x customization { get; }
-        granny_int32x build { get; }
-        string version { get; }
+        int major { get; set; }
+        int minor { get; set; }
+        int customization { get; set; }
+        int build { get; set; }
+        //string version { get; }
     }
 
     public class versiontype : Iversiontype
     {
+        /// <summary>
+        /// default versiontype construction: 0.0.0.0
+        /// </summary>
         public versiontype()
         {
             this.major = 0;
@@ -26,22 +31,32 @@
             this.customization = 0;
             this.build = 0;
         }
-        public versiontype(granny_int32x major, granny_int32x minor, granny_int32x customization, granny_int32x build)
+        /// <summary>
+        /// versiontype construction: major.minor.customization.build
+        /// </summary>
+        public versiontype(int major, int minor, int customization, int build)
         {
             this.major = major;
             this.minor = minor;
             this.customization = customization;
             this.build = build;
         }
+        /// <summary>
+        /// versiontype construction: major.minor.customization.build (via string: "0.0.0.0")
+        /// </summary>
         public versiontype(string version)
         {
             string[] _version = version.Split('.');
             
-            this.major = _version[0];
-            this.minor = _version[1];
-            this.customization = _version[2];
-            this.build = _version[3];
+            this.major = Convert.ToInt32(_version[0]);
+            this.minor = Convert.ToInt32(_version[1]);
+            this.customization = Convert.ToInt32(_version[2]);
+            this.build = Convert.ToInt32(_version[3]);
         }
+        /// <summary>
+        /// Gets this version in format: major.minor.customization.build
+        /// </summary>
+        /// <returns></returns>
         public override string ToString()
         {
             return this.version;
@@ -51,46 +66,47 @@
         /// <summary>
         /// Returns a string representation of the Granny2 API Version in format (major.minor.customization.build)
         /// </summary>
-        public string version { get { return string.Format("{0}.{1}.{2}.{3}", major, minor, customization, build); } }
-        private granny_int32x _major;
+        private string version { get { return string.Format("{0}.{1}.{2}.{3}", major, minor, customization, build); } }
+        private int _major;
+        [RefreshPropertiesAttribute(RefreshProperties.All)]  
         /// <summary>
         /// Returns the Major of the Granny2 API Version (X.0.0.0)
         /// </summary>
-        public granny_int32x major { get { return _major; } private set { _major = value; } }
+        public int major { get { return _major; } set { _major = value; } }
 
-        private granny_int32x _minor;
+        private int _minor;
+        [RefreshPropertiesAttribute(RefreshProperties.All)]  
         /// <summary>
         /// Returns the Minor of the Granny2 API Version (0.X.0.0)
         /// </summary>
-        public granny_int32x minor { get { return _minor; } private set { _minor = value; } }
+        public int minor { get { return _minor; } set { _minor = value; } }
 
-        private granny_int32x _customization;
+        private int _customization;
+        [RefreshPropertiesAttribute(RefreshProperties.All)]  
         /// <summary>
         /// Returns the Customization of the Granny2 API Version - Customization (0.0.X.0)
         /// </summary>
-        public granny_int32x customization { get { return _customization; } private set { _customization = value; } }
+        public int customization { get { return _customization; } set { _customization = value; } }
 
-        private granny_int32x _build;
+        private int _build;
+        [RefreshPropertiesAttribute(RefreshProperties.All)]  
         /// <summary>
         /// Returns the Build of the Granny2 API Version (0.0.0.X)
         /// </summary>
-        public granny_int32x build { get { return _build; } private set { _build = value; } }
+        public int build { get { return _build; } set { _build = value; } }
         #endregion
     }
     #endregion
 
     #region public class Granny2APIVersion
-    public interface igranny2apiversion
-    {
-        bool apiversionsmatch { get; }
-        versiontype apiversion { get; }
-        versiontype expectedapiversion { get; }
-    }
     /// <summary>
     /// Handle's the checking of the Loaded Granny2 API Version
     /// </summary>
     public class granny2apiversion : igranny2apiversion
     {
+        /// <summary>
+        /// Default granny2apiversion Constructor: Expect Granny2 API -> 2.7.0.30
+        /// </summary>
         public granny2apiversion()
         {
             this._expectedapiversion = new versiontype(
@@ -99,12 +115,35 @@
                                              apiversiontype.GrannyProductCustomization,
                                              apiversiontype.GrannyProductBuildNumber);
 
-            granny2apiloader _loader = new granny2apiloader();
+            granny2apiloader _loader = new granny2apiloader(true);
             this._apiversion = new versiontype();
             this._apiversionsmatch = this.GrannyVersionsMatch();
             this.GetGrannyVersion();
  
         }
+        /// <summary>
+        /// Default granny2apiversion Constructor: Expect Granny2 API -> 2.7.0.30 (allow disable looking for granny api)
+        /// </summary>
+        public granny2apiversion(bool checkforgrannyapi)
+        {
+            if (checkforgrannyapi)
+            {
+                this._expectedapiversion = new versiontype(
+                                                 apiversiontype.GrannyProductMajorVersion,
+                                                 apiversiontype.GrannyProductMinorVersion,
+                                                 apiversiontype.GrannyProductCustomization,
+                                                 apiversiontype.GrannyProductBuildNumber);
+
+                granny2apiloader _loader = new granny2apiloader(checkforgrannyapi);
+                this._apiversion = new versiontype();
+                this._apiversionsmatch = this.GrannyVersionsMatch();
+                this.GetGrannyVersion();
+            }
+
+        }
+        /// <summary>
+        /// granny2apiversion Constructor: set Granny2 API -> major.minor.customization.build
+        /// </summary>
         public granny2apiversion(granny_int32x ExpectedMajorVersion, granny_int32x ExpectedMinorVersion, granny_int32x ExpectedCustomization, granny_int32x ExpectedBuildNumber)
         {
             this._expectedapiversion = new versiontype(
@@ -113,20 +152,57 @@
                                  ExpectedCustomization,
                                  ExpectedBuildNumber);
 
-            granny2apiloader _loader = new granny2apiloader();
+            granny2apiloader _loader = new granny2apiloader(true);
             this._apiversion = new versiontype();
             this._apiversionsmatch = this.GrannyVersionsMatch();
             this.GetGrannyVersion();
         }
+        /// <summary>
+        /// granny2apiversion Constructor: set Granny2 API -> major.minor.customization.build
+        /// </summary>
+        public granny2apiversion(bool checkforgrannyapi, granny_int32x ExpectedMajorVersion, granny_int32x ExpectedMinorVersion, granny_int32x ExpectedCustomization, granny_int32x ExpectedBuildNumber)
+        {
+            if (checkforgrannyapi)
+            {
+                this._expectedapiversion = new versiontype(
+                                     ExpectedMajorVersion,
+                                     ExpectedMinorVersion,
+                                     ExpectedCustomization,
+                                     ExpectedBuildNumber);
+
+                granny2apiloader _loader = new granny2apiloader(checkforgrannyapi);
+                this._apiversion = new versiontype();
+                this._apiversionsmatch = this.GrannyVersionsMatch();
+                this.GetGrannyVersion();
+            }
+        }
+        /// <summary>
+        /// granny2apiversion Constructor: set Granny2 API -> major.minor.customization.build (via string: "0.0.0.0")
+        /// </summary>
         public granny2apiversion(string ExceptedVersion)
         {
             this._expectedapiversion = new versiontype(ExceptedVersion);
 
-            granny2apiloader _loader = new granny2apiloader();
+            granny2apiloader _loader = new granny2apiloader(true);
             this._apiversion = new versiontype();
             this._apiversionsmatch = this.GrannyVersionsMatch();
             this.GetGrannyVersion();
         }
+        /// <summary>
+        /// granny2apiversion Constructor: set Granny2 API -> major.minor.customization.build (via string: "0.0.0.0")
+        /// </summary>
+        public granny2apiversion(bool checkforgrannyapi,string ExceptedVersion)
+        {
+            if (checkforgrannyapi)
+            {
+                this._expectedapiversion = new versiontype(ExceptedVersion);
+
+                granny2apiloader _loader = new granny2apiloader(checkforgrannyapi);
+                this._apiversion = new versiontype();
+                this._apiversionsmatch = this.GrannyVersionsMatch();
+                this.GetGrannyVersion();
+            }
+        }
 
         #region APIVersion Support
         private class apiversiontype

 

  ViewVC Help
Powered by ViewVC 1.1.22