/[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

revision 40 by william, Wed Jul 14 19:15:42 2010 UTC revision 55 by william, Thu Jul 15 08:23:03 2010 UTC
# Line 3  using System.Collections.Generic; Line 3  using System.Collections.Generic;
3  using System.Text;  using System.Text;
4    
5  using gr2lib.core.typedefs;  using gr2lib.core.typedefs;
6    using gr2lib.core.exceptions;
7    
8  namespace gr2lib.core.apiversion  namespace gr2lib.core.apiversion
9  {  {
10      #region public class VersionType      #region public class VersionType
11      public interface Iversiontype      public interface Iversiontype
12      {      {
13          granny_int32x Major { get; }          granny_int32x major { get; }
14          granny_int32x Minor { get; }          granny_int32x minor { get; }
15          granny_int32x Customization { get; }          granny_int32x customization { get; }
16          granny_int32x Build { get; }          granny_int32x build { get; }
17          string Version { get; }          string version { get; }
18      }      }
19    
20      public class versiontype : Iversiontype      public class versiontype : Iversiontype
21      {      {
22          public versiontype()          public versiontype()
23          {          {
24              this._Major = 0;              this.major = 0;
25              this._Minor = 0;              this.minor = 0;
26              this._Customization = 0;              this.customization = 0;
27              this._Build = 0;              this.build = 0;
28          }          }
29          public versiontype(granny_int32x Major, granny_int32x Minor, granny_int32x Customization, granny_int32x Build)          public versiontype(granny_int32x major, granny_int32x minor, granny_int32x customization, granny_int32x build)
30          {          {
31              this._Major = Major;              this.major = major;
32              this._Minor = Minor;              this.minor = minor;
33              this._Customization = Customization;              this.customization = customization;
34              this._Build = Build;              this.build = build;
35            }
36            public versiontype(string version)
37            {
38                string[] _version = version.Split('.');
39                
40                this.major = _version[0];
41                this.minor = _version[1];
42                this.customization = _version[2];
43                this.build = _version[3];
44          }          }
   
45          public override string ToString()          public override string ToString()
46          {          {
47              return this.Version;              return this.version;
48          }          }
49    
50          #region IVersionType Members          #region IVersionType Members
51          /// <summary>          /// <summary>
52          /// Returns a string representation of the Granny2 API Version in format (Major.Minor.Customization.Build)          /// Returns a string representation of the Granny2 API Version in format (major.minor.customization.build)
53          /// </summary>          /// </summary>
54          public string Version { get { return string.Format("{0}.{1}.{2}.{3}", Major, Minor, Customization, Build); } }          public string version { get { return string.Format("{0}.{1}.{2}.{3}", major, minor, customization, build); } }
55          private granny_int32x _Major;          private granny_int32x _major;
56          /// <summary>          /// <summary>
57          /// Returns the Major of the Granny2 API Version (X.0.0.0)          /// Returns the Major of the Granny2 API Version (X.0.0.0)
58          /// </summary>          /// </summary>
59          public granny_int32x Major { get { return _Major; } }          public granny_int32x major { get { return _major; } private set { _major = value; } }
60    
61          private granny_int32x _Minor;          private granny_int32x _minor;
62          /// <summary>          /// <summary>
63          /// Returns the Minor of the Granny2 API Version (0.X.0.0)          /// Returns the Minor of the Granny2 API Version (0.X.0.0)
64          /// </summary>          /// </summary>
65          public granny_int32x Minor { get { return _Minor; } }          public granny_int32x minor { get { return _minor; } private set { _minor = value; } }
66    
67          private granny_int32x _Customization;          private granny_int32x _customization;
68          /// <summary>          /// <summary>
69          /// Returns the Customization of the Granny2 API Version - Customization (0.0.X.0)          /// Returns the Customization of the Granny2 API Version - Customization (0.0.X.0)
70          /// </summary>          /// </summary>
71          public granny_int32x Customization { get { return _Customization; } }          public granny_int32x customization { get { return _customization; } private set { _customization = value; } }
72    
73          private granny_int32x _Build;          private granny_int32x _build;
74          /// <summary>          /// <summary>
75          /// Returns the Build of the Granny2 API Version (0.0.0.X)          /// Returns the Build of the Granny2 API Version (0.0.0.X)
76          /// </summary>          /// </summary>
77          public granny_int32x Build { get { return _Build; } }          public granny_int32x build { get { return _build; } private set { _build = value; } }
78          #endregion          #endregion
79      }      }
80      #endregion      #endregion
81    
82      #region public class Granny2APIVersion      #region public class Granny2APIVersion
83      public interface Igranny2apiversion      public interface igranny2apiversion
84      {      {
85          bool apiversionsmatch { get; }          bool apiversionsmatch { get; }
86          versiontype apiversion { get; }          versiontype apiversion { get; }
# Line 80  namespace gr2lib.core.apiversion Line 89  namespace gr2lib.core.apiversion
89      /// <summary>      /// <summary>
90      /// Handle's the checking of the Loaded Granny2 API Version      /// Handle's the checking of the Loaded Granny2 API Version
91      /// </summary>      /// </summary>
92      public class granny2apiversion : Igranny2apiversion      public class granny2apiversion : igranny2apiversion
93      {      {
94          public granny2apiversion()          public granny2apiversion()
95          {          {
96              this._APIVersion = new versiontype();              this._expectedapiversion = new versiontype(
97              this._APIVersionsMatch = this.GrannyVersionsMatch();                                               apiversiontype.GrannyProductMajorVersion,
98                                                 apiversiontype.GrannyProductMinorVersion,
99                                                 apiversiontype.GrannyProductCustomization,
100                                                 apiversiontype.GrannyProductBuildNumber);
101    
102                granny2apiloader _loader = new granny2apiloader();
103                this._apiversion = new versiontype();
104                this._apiversionsmatch = this.GrannyVersionsMatch();
105                this.GetGrannyVersion();
106    
107            }
108            public granny2apiversion(granny_int32x ExpectedMajorVersion, granny_int32x ExpectedMinorVersion, granny_int32x ExpectedCustomization, granny_int32x ExpectedBuildNumber)
109            {
110                this._expectedapiversion = new versiontype(
111                                     ExpectedMajorVersion,
112                                     ExpectedMinorVersion,
113                                     ExpectedCustomization,
114                                     ExpectedBuildNumber);
115    
116                granny2apiloader _loader = new granny2apiloader();
117                this._apiversion = new versiontype();
118                this._apiversionsmatch = this.GrannyVersionsMatch();
119                this.GetGrannyVersion();
120            }
121            public granny2apiversion(string ExceptedVersion)
122            {
123                this._expectedapiversion = new versiontype(ExceptedVersion);
124    
125                granny2apiloader _loader = new granny2apiloader();
126                this._apiversion = new versiontype();
127                this._apiversionsmatch = this.GrannyVersionsMatch();
128              this.GetGrannyVersion();              this.GetGrannyVersion();
129          }            }
130    
131          #region APIVersion Support          #region APIVersion Support
132          private class apiversiontype          private class apiversiontype
133          {          {
# Line 102  namespace gr2lib.core.apiversion Line 142  namespace gr2lib.core.apiversion
142          private bool GrannyVersionsMatch()          private bool GrannyVersionsMatch()
143          {          {
144              return gr2lib.core.coreapi.GrannyVersionsMatch(              return gr2lib.core.coreapi.GrannyVersionsMatch(
145                  apiversiontype.GrannyProductMajorVersion,                  this._expectedapiversion.major,
146                  apiversiontype.GrannyProductMinorVersion,                  this._expectedapiversion.minor,
147                  apiversiontype.GrannyProductCustomization,                  this._expectedapiversion.customization,
148                  apiversiontype.GrannyProductBuildNumber);                  this._expectedapiversion.build);
149          }          }
150          private void GetGrannyVersion()          private void GetGrannyVersion()
151          {          {
152              granny_int32x Major = 0;              granny_int32x major = 0;
153              granny_int32x Minor = 0;              granny_int32x minor = 0;
154              granny_int32x Customization = 0;              granny_int32x customization = 0;
155              granny_int32x Build = 0;              granny_int32x build = 0;
156    
157              gr2lib.core.coreapi.GrannyGetVersion(              gr2lib.core.coreapi.GrannyGetVersion(
158                  ref Major,                  ref major,
159                  ref Minor,                  ref minor,
160                  ref Customization,                  ref customization,
161                  ref Build);                  ref build);
162    
163              this._APIVersion = new versiontype(Major, Minor, Customization, Build);              this._apiversion = new versiontype(major, minor, customization, build);
164    
165          }          }
166          private string GrannyGetVersionString()          private string GrannyGetVersionString()
# Line 130  namespace gr2lib.core.apiversion Line 170  namespace gr2lib.core.apiversion
170          #endregion          #endregion
171    
172          #region IGranny2APIVersion Members          #region IGranny2APIVersion Members
173          private bool _APIVersionsMatch = false;          private bool _apiversionsmatch = false;
174          /// <summary>          /// <summary>
175          /// Indicates that the Loaded Granny2 API Version matches the version that the core library was built against          /// Indicates that the Loaded Granny2 API Version matches the version that the core library was built against
176          /// </summary>          /// </summary>
177          public bool apiversionsmatch { get { return _APIVersionsMatch; } }          public bool apiversionsmatch { get { return _apiversionsmatch; } }
178          private versiontype _APIVersion;          private versiontype _apiversion;
179          /// <summary>          /// <summary>
180          /// Gets the Loaded Granny2 API Version          /// Gets the Loaded Granny2 API Version
181          /// </summary>          /// </summary>
182          public versiontype apiversion { get { return _APIVersion; } }          public versiontype apiversion { get { return _apiversion; } }
183            private versiontype _expectedapiversion;
184          /// <summary>          /// <summary>
185          /// Gets the Expected Granny2 API Version          /// Gets the Expected Granny2 API Version
186          /// </summary>          /// </summary>
187          public versiontype expectedapiversion { get { return new versiontype(apiversiontype.GrannyProductMajorVersion, apiversiontype.GrannyProductMinorVersion, apiversiontype.GrannyProductCustomization, apiversiontype.GrannyProductBuildNumber); } }          public versiontype expectedapiversion { get { return _expectedapiversion; } }
188          #endregion          #endregion
189      }      }
190      #endregion      #endregion

Legend:
Removed from v.40  
changed lines
  Added in v.55

  ViewVC Help
Powered by ViewVC 1.1.22