/[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 55 by william, Thu Jul 15 08:23:03 2010 UTC revision 109 by william, Sun Jul 18 01:58:10 2010 UTC
# Line 4  using System.Text; Line 4  using System.Text;
4    
5  using gr2lib.core.typedefs;  using gr2lib.core.typedefs;
6  using gr2lib.core.exceptions;  using gr2lib.core.exceptions;
7    using gr2lib.core.interfaces;
8    
9  namespace gr2lib.core.apiversion  namespace gr2lib.core.apiversion
10  {  {
# Line 19  namespace gr2lib.core.apiversion Line 20  namespace gr2lib.core.apiversion
20    
21      public class versiontype : Iversiontype      public class versiontype : Iversiontype
22      {      {
23            /// <summary>
24            /// default versiontype construction: 0.0.0.0
25            /// </summary>
26          public versiontype()          public versiontype()
27          {          {
28              this.major = 0;              this.major = 0;
# Line 26  namespace gr2lib.core.apiversion Line 30  namespace gr2lib.core.apiversion
30              this.customization = 0;              this.customization = 0;
31              this.build = 0;              this.build = 0;
32          }          }
33            /// <summary>
34            /// versiontype construction: major.minor.customization.build
35            /// </summary>
36          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)
37          {          {
38              this.major = major;              this.major = major;
# Line 33  namespace gr2lib.core.apiversion Line 40  namespace gr2lib.core.apiversion
40              this.customization = customization;              this.customization = customization;
41              this.build = build;              this.build = build;
42          }          }
43            /// <summary>
44            /// versiontype construction: major.minor.customization.build (via string: "0.0.0.0")
45            /// </summary>
46          public versiontype(string version)          public versiontype(string version)
47          {          {
48              string[] _version = version.Split('.');              string[] _version = version.Split('.');
# Line 42  namespace gr2lib.core.apiversion Line 52  namespace gr2lib.core.apiversion
52              this.customization = _version[2];              this.customization = _version[2];
53              this.build = _version[3];              this.build = _version[3];
54          }          }
55            /// <summary>
56            /// Gets this version in format: major.minor.customization.build
57            /// </summary>
58            /// <returns></returns>
59          public override string ToString()          public override string ToString()
60          {          {
61              return this.version;              return this.version;
# Line 80  namespace gr2lib.core.apiversion Line 94  namespace gr2lib.core.apiversion
94      #endregion      #endregion
95    
96      #region public class Granny2APIVersion      #region public class Granny2APIVersion
     public interface igranny2apiversion  
     {  
         bool apiversionsmatch { get; }  
         versiontype apiversion { get; }  
         versiontype expectedapiversion { get; }  
     }  
97      /// <summary>      /// <summary>
98      /// Handle's the checking of the Loaded Granny2 API Version      /// Handle's the checking of the Loaded Granny2 API Version
99      /// </summary>      /// </summary>
100      public class granny2apiversion : igranny2apiversion      public class granny2apiversion : igranny2apiversion
101      {      {
102            /// <summary>
103            /// Default granny2apiversion Constructor: Expect Granny2 API -> 2.7.0.30
104            /// </summary>
105          public granny2apiversion()          public granny2apiversion()
106          {          {
107              this._expectedapiversion = new versiontype(              this._expectedapiversion = new versiontype(
# Line 99  namespace gr2lib.core.apiversion Line 110  namespace gr2lib.core.apiversion
110                                               apiversiontype.GrannyProductCustomization,                                               apiversiontype.GrannyProductCustomization,
111                                               apiversiontype.GrannyProductBuildNumber);                                               apiversiontype.GrannyProductBuildNumber);
112    
113              granny2apiloader _loader = new granny2apiloader();              granny2apiloader _loader = new granny2apiloader(true);
114              this._apiversion = new versiontype();              this._apiversion = new versiontype();
115              this._apiversionsmatch = this.GrannyVersionsMatch();              this._apiversionsmatch = this.GrannyVersionsMatch();
116              this.GetGrannyVersion();              this.GetGrannyVersion();
117    
118          }          }
119            /// <summary>
120            /// Default granny2apiversion Constructor: Expect Granny2 API -> 2.7.0.30 (allow disable looking for granny api)
121            /// </summary>
122            public granny2apiversion(bool checkforgrannyapi)
123            {
124                if (checkforgrannyapi)
125                {
126                    this._expectedapiversion = new versiontype(
127                                                     apiversiontype.GrannyProductMajorVersion,
128                                                     apiversiontype.GrannyProductMinorVersion,
129                                                     apiversiontype.GrannyProductCustomization,
130                                                     apiversiontype.GrannyProductBuildNumber);
131    
132                    granny2apiloader _loader = new granny2apiloader(checkforgrannyapi);
133                    this._apiversion = new versiontype();
134                    this._apiversionsmatch = this.GrannyVersionsMatch();
135                    this.GetGrannyVersion();
136                }
137    
138            }
139            /// <summary>
140            /// granny2apiversion Constructor: set Granny2 API -> major.minor.customization.build
141            /// </summary>
142          public granny2apiversion(granny_int32x ExpectedMajorVersion, granny_int32x ExpectedMinorVersion, granny_int32x ExpectedCustomization, granny_int32x ExpectedBuildNumber)          public granny2apiversion(granny_int32x ExpectedMajorVersion, granny_int32x ExpectedMinorVersion, granny_int32x ExpectedCustomization, granny_int32x ExpectedBuildNumber)
143          {          {
144              this._expectedapiversion = new versiontype(              this._expectedapiversion = new versiontype(
# Line 113  namespace gr2lib.core.apiversion Line 147  namespace gr2lib.core.apiversion
147                                   ExpectedCustomization,                                   ExpectedCustomization,
148                                   ExpectedBuildNumber);                                   ExpectedBuildNumber);
149    
150              granny2apiloader _loader = new granny2apiloader();              granny2apiloader _loader = new granny2apiloader(true);
151              this._apiversion = new versiontype();              this._apiversion = new versiontype();
152              this._apiversionsmatch = this.GrannyVersionsMatch();              this._apiversionsmatch = this.GrannyVersionsMatch();
153              this.GetGrannyVersion();              this.GetGrannyVersion();
154          }          }
155            /// <summary>
156            /// granny2apiversion Constructor: set Granny2 API -> major.minor.customization.build
157            /// </summary>
158            public granny2apiversion(bool checkforgrannyapi, granny_int32x ExpectedMajorVersion, granny_int32x ExpectedMinorVersion, granny_int32x ExpectedCustomization, granny_int32x ExpectedBuildNumber)
159            {
160                if (checkforgrannyapi)
161                {
162                    this._expectedapiversion = new versiontype(
163                                         ExpectedMajorVersion,
164                                         ExpectedMinorVersion,
165                                         ExpectedCustomization,
166                                         ExpectedBuildNumber);
167    
168                    granny2apiloader _loader = new granny2apiloader(checkforgrannyapi);
169                    this._apiversion = new versiontype();
170                    this._apiversionsmatch = this.GrannyVersionsMatch();
171                    this.GetGrannyVersion();
172                }
173            }
174            /// <summary>
175            /// granny2apiversion Constructor: set Granny2 API -> major.minor.customization.build (via string: "0.0.0.0")
176            /// </summary>
177          public granny2apiversion(string ExceptedVersion)          public granny2apiversion(string ExceptedVersion)
178          {          {
179              this._expectedapiversion = new versiontype(ExceptedVersion);              this._expectedapiversion = new versiontype(ExceptedVersion);
180    
181              granny2apiloader _loader = new granny2apiloader();              granny2apiloader _loader = new granny2apiloader(true);
182              this._apiversion = new versiontype();              this._apiversion = new versiontype();
183              this._apiversionsmatch = this.GrannyVersionsMatch();              this._apiversionsmatch = this.GrannyVersionsMatch();
184              this.GetGrannyVersion();              this.GetGrannyVersion();
185          }          }
186            /// <summary>
187            /// granny2apiversion Constructor: set Granny2 API -> major.minor.customization.build (via string: "0.0.0.0")
188            /// </summary>
189            public granny2apiversion(bool checkforgrannyapi,string ExceptedVersion)
190            {
191                if (checkforgrannyapi)
192                {
193                    this._expectedapiversion = new versiontype(ExceptedVersion);
194    
195                    granny2apiloader _loader = new granny2apiloader(checkforgrannyapi);
196                    this._apiversion = new versiontype();
197                    this._apiversionsmatch = this.GrannyVersionsMatch();
198                    this.GetGrannyVersion();
199                }
200            }
201    
202          #region APIVersion Support          #region APIVersion Support
203          private class apiversiontype          private class apiversiontype

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

  ViewVC Help
Powered by ViewVC 1.1.22