/[gr2lib]/trunk/gr2lib/core/coreclasses/header/granny_header.cs
ViewVC logotype

Diff of /trunk/gr2lib/core/coreclasses/header/granny_header.cs

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

revision 94 by william, Sat Jul 17 05:09:42 2010 UTC revision 102 by william, Sat Jul 17 13:54:18 2010 UTC
# Line 1  Line 1 
1  ´╗┐using System;  ´╗┐//#define HAVE_GRN_REFERENCE // when defined enabled GRN_REFERNCE in Header, else it is disabled
2    using System;
3  using System.Collections.Generic;  using System.Collections.Generic;
4  using System.Linq;  using System.Linq;
5  using System.Text;  using System.Text;
# Line 23  namespace gr2lib.core.coreclasses.header Line 24  namespace gr2lib.core.coreclasses.header
24              this.CRC = 0;              this.CRC = 0;
25              this.SectionArrayOffset = 0;              this.SectionArrayOffset = 0;
26              this.SectionArrayCount = 0;              this.SectionArrayCount = 0;
27    #if HAVE_GRN_REFERENCE
28              this.RootObjectTypeDefinition = new granny_reference();              this.RootObjectTypeDefinition = new granny_reference();
29              this.RootObject = new granny_reference();              this.RootObject = new granny_reference();
30    #endif
31              this.TypeTag = 0;              this.TypeTag = 0;
32              this.StringDatabaseCRC = 0;              this.StringDatabaseCRC = 0;
33    
# Line 42  namespace gr2lib.core.coreclasses.header Line 45  namespace gr2lib.core.coreclasses.header
45                  managed.NativePointer = pointer;                  managed.NativePointer = pointer;
46                  return managed;                  return managed;
47              }              }
48              catch (Exception ex)              catch
49              {              {
50                  StackTrace st = new StackTrace(true);                  StackTrace st = new StackTrace(true);
51                  Console.WriteLine(st.ToString() + "\n\n" + "Stack Trace: \n" + ex.ToString());  #if  ENABLE_EXCEPTION_OUTPUT_TO_CONSOLE
52                    Console.WriteLine(st.ToString());
53    #endif
54                  return default(granny_header);                  return default(granny_header);
55              }              }
56          }          }
# Line 60  namespace gr2lib.core.coreclasses.header Line 65  namespace gr2lib.core.coreclasses.header
65                  managed.CRC = native.CRC;                  managed.CRC = native.CRC;
66                  managed.SectionArrayOffset = native.SectionArrayOffset;                  managed.SectionArrayOffset = native.SectionArrayOffset;
67                  managed.SectionArrayCount = native.SectionArrayCount;                  managed.SectionArrayCount = native.SectionArrayCount;
68                  
69                  // grn_reference                  // grn_reference
70    
71    #if HAVE_GRN_REFERENCE
72                  if (native.RootObjectTypeDefinition != IntPtr.Zero)                  if (native.RootObjectTypeDefinition != IntPtr.Zero)
73                  {                  {
74                      //managed.RootObjectTypeDefinition = granny_reference.ReadFromMemory(native.RootObjectTypeDefinition);                      //managed.RootObjectTypeDefinition = granny_reference.ReadFromMemory(native.RootObjectTypeDefinition);
75                      managed.RootObjectTypeDefinition = new granny_reference();                      managed.RootObjectTypeDefinition = new granny_reference();
76                  }                  }
                 else  
                 {  
                     managed.RootObjectTypeDefinition = new granny_reference();  
                 }  
77                  if (native.RootObject != IntPtr.Zero)                  if (native.RootObject != IntPtr.Zero)
78                  {                  {
79                      //managed.RootObject = granny_reference.ReadFromMemory(native.RootObject);                      //managed.RootObject = granny_reference.ReadFromMemory(native.RootObject);
80                      managed.RootObject = new granny_reference();                      managed.RootObject = new granny_reference();
81                  }                  }
82                  else  #endif
                 {  
                     managed.RootObject = new granny_reference();  
                 }  
83    
84                  //managed.TypeTag = native.TypeTag;                  //managed.TypeTag = native.TypeTag;
85                  managed.ExtraTags = native.ExtraTags;                  managed.ExtraTags = native.ExtraTags;
# Line 89  namespace gr2lib.core.coreclasses.header Line 88  namespace gr2lib.core.coreclasses.header
88                  //process header                  //process header
89                  return managed;                  return managed;
90              }              }
91              catch (Exception ex)              catch
92              {              {
93                  StackTrace st = new StackTrace(true);                  StackTrace st = new StackTrace(true);
94                  Console.WriteLine(st.ToString() + "\n\n" + "Stack Trace: \n" + ex.ToString());  #if  ENABLE_EXCEPTION_OUTPUT_TO_CONSOLE
95                    Console.WriteLine(st.ToString());
96    #endif
97                  return default(granny_header);                  return default(granny_header);
98              }              }
99          }          }
# Line 109  namespace gr2lib.core.coreclasses.header Line 110  namespace gr2lib.core.coreclasses.header
110          private Int32 _CRC;          private Int32 _CRC;
111          private Int32 _SectionArrayOffset;          private Int32 _SectionArrayOffset;
112          private Int32 _SectionArrayCount;          private Int32 _SectionArrayCount;
113    #if HAVE_GRN_REFERENCE
114          private granny_reference _RootObjectTypeDefinition;          private granny_reference _RootObjectTypeDefinition;
115          private granny_reference _RootObject;          private granny_reference _RootObject;
116    #endif
117          private Int32 _TypeTag;          private Int32 _TypeTag;
118          private Int32[] _ExtraTags; //4          private Int32[] _ExtraTags; //4
119          private Int32 _StringDatabaseCRC;          private Int32 _StringDatabaseCRC;
# Line 122  namespace gr2lib.core.coreclasses.header Line 125  namespace gr2lib.core.coreclasses.header
125          public Int32 CRC { get { return _CRC; } set { _CRC = value; } }          public Int32 CRC { get { return _CRC; } set { _CRC = value; } }
126          public Int32 SectionArrayOffset { get { return _SectionArrayOffset; } set { _SectionArrayOffset = value; } }          public Int32 SectionArrayOffset { get { return _SectionArrayOffset; } set { _SectionArrayOffset = value; } }
127          public Int32 SectionArrayCount { get { return _SectionArrayCount; } set { _SectionArrayCount = value; } }          public Int32 SectionArrayCount { get { return _SectionArrayCount; } set { _SectionArrayCount = value; } }
128    #if HAVE_GRN_REFERENCE
129          public granny_reference RootObjectTypeDefinition { get { return _RootObjectTypeDefinition; } set { _RootObjectTypeDefinition = value; } }          public granny_reference RootObjectTypeDefinition { get { return _RootObjectTypeDefinition; } set { _RootObjectTypeDefinition = value; } }
130          public granny_reference RootObject { get { return _RootObject; } set { _RootObject = value; } }          public granny_reference RootObject { get { return _RootObject; } set { _RootObject = value; } }
131    #endif
132          public Int32 TypeTag { get { return _TypeTag; } set { _TypeTag = value; } }          public Int32 TypeTag { get { return _TypeTag; } set { _TypeTag = value; } }
133          public Int32[] ExtraTags { get { return _ExtraTags; } set { if (value.Length > GrannyGRNExtraTagCount) throw new InvalidOperationException("The size of ExtraTags cannot be greater than " + GrannyGRNExtraTagCount); _ExtraTags = value; } } //4          public Int32[] ExtraTags { get { return _ExtraTags; } set { if (value.Length > GrannyGRNExtraTagCount) throw new InvalidOperationException("The size of ExtraTags cannot be greater than " + GrannyGRNExtraTagCount); _ExtraTags = value; } } //4
134          public Int32 StringDatabaseCRC { get { return _StringDatabaseCRC; } set { _StringDatabaseCRC = value; } }          public Int32 StringDatabaseCRC { get { return _StringDatabaseCRC; } set { _StringDatabaseCRC = value; } }

Legend:
Removed from v.94  
changed lines
  Added in v.102

  ViewVC Help
Powered by ViewVC 1.1.22