/[xmltv_parser]/trunk/GBPVRProgramDatabaseFixer/SQLLITE.cs
ViewVC logotype

Diff of /trunk/GBPVRProgramDatabaseFixer/SQLLITE.cs

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

revision 223 by william, Sun Mar 17 02:47:23 2013 UTC revision 224 by william, Sun Mar 17 02:57:19 2013 UTC
# Line 11  using libxmltv.Interfaces; Line 11  using libxmltv.Interfaces;
11  using libxmltv.Core;  using libxmltv.Core;
12  namespace GBPVRProgramDatabaseFixer  namespace GBPVRProgramDatabaseFixer
13  {  {
14        public interface ICloneable<T>
15        {
16            T Clone();
17        }
18      public interface IOldNewProgram      public interface IOldNewProgram
19      {      {
20          SQLLITE.IPROGRAMME OldProgram { get; }          SQLLITE.IPROGRAMME OldProgram { get; }
# Line 45  namespace GBPVRProgramDatabaseFixer Line 49  namespace GBPVRProgramDatabaseFixer
49          }          }
50    
51          #region DATABASE DEFINITIONS          #region DATABASE DEFINITIONS
52            #region BaseDatabaseDefinition
         public interface ICHANNEL : ICloneable  
         {  
             Int64 oid { get; }  
             String name { get; }  
             String channelID { get; }  
             Int64 channel_number { get; }  
             String favourite_channel { get; }  
             String display_name { get; }  
         }  
         private class CHANNEL : ICHANNEL, ICloneable  
         {  
             public CHANNEL()  
             {  
                 BaseDatabaseDefinition<CHANNEL>.CreateDefault(this);  
             }  
             //public RECORDING_SCHEDULE(SQLiteDataReader r, int index) { BaseDatabaseDefinition<RECORDING_SCHEDULE>.Create(this, r, index); }  
   
             public static void Create(ref CHANNEL instance, SQLiteDataReader r, int index)  
             {  
                 BaseDatabaseDefinition<CHANNEL>.Create(ref instance, r, index);  
             }  
             #region ICHANNEL members  
             public Int64 oid { get; set; }  
             public String name { get; set; }  
             public String channelID { get; set; }  
             public Int64 channel_number { get; set; }  
             public String favourite_channel { get; set; }  
             public String display_name { get; set; }  
             #endregion  
   
             public object Clone()  
             {  
                 CHANNEL p = new CHANNEL();  
                 BaseDatabaseDefinition<CHANNEL>.Create(this, ref p);  
                 return p;    
             }  
         }  
         public interface IRECORDING_SCHEDULE : ICloneable  
         {  
             Int64 oid { get; }  
             Int64 programme_oid { get; }  
             Int64 capture_source_oid { get; }  
             Int16 status { get; }  
             String filename { get; }  
             Int64 recording_type { get; }  
             Int64 recording_group { get; }  
             DateTime manual_start_time { get; }  
             DateTime manual_end_time { get; }  
             Int64 manual_channel_oid { get; }  
             Int64 quality_level { get; }  
             Int64 pre_pad_minutes { get; }  
             Int64 post_pad_minutes { get; }  
             Int32 priority { get; }  
             String conversion_profile { get; }  
         }  
   
53          private static class BaseDatabaseDefinition<T>          private static class BaseDatabaseDefinition<T>
54          {          {
55              public static void CreateDefault(T instance)              public static void CreateDefault(T instance)
# Line 197  namespace GBPVRProgramDatabaseFixer Line 145  namespace GBPVRProgramDatabaseFixer
145    
146              }              }
147          }          }
148            #endregion
149            public interface ICHANNEL : ICloneable<ICHANNEL>
150            {
151                Int64 oid { get; }
152                String name { get; }
153                String channelID { get; }
154                Int64 channel_number { get; }
155                String favourite_channel { get; }
156                String display_name { get; }
157            }
158            private class CHANNEL : ICHANNEL, ICloneable<CHANNEL>
159            {
160                public CHANNEL()
161                {
162                    BaseDatabaseDefinition<CHANNEL>.CreateDefault(this);
163                }
164                //public RECORDING_SCHEDULE(SQLiteDataReader r, int index) { BaseDatabaseDefinition<RECORDING_SCHEDULE>.Create(this, r, index); }
165    
166                public static void Create(ref CHANNEL instance, SQLiteDataReader r, int index)
167                {
168                    BaseDatabaseDefinition<CHANNEL>.Create(ref instance, r, index);
169                }
170                #region ICHANNEL members
171                public Int64 oid { get; set; }
172                public String name { get; set; }
173                public String channelID { get; set; }
174                public Int64 channel_number { get; set; }
175                public String favourite_channel { get; set; }
176                public String display_name { get; set; }
177                #endregion
178    
179                ICHANNEL ICloneable<ICHANNEL>.Clone()
180                {
181                    return Clone();
182                }
183                public CHANNEL Clone()
184                {
185                    CHANNEL p = new CHANNEL();
186                    BaseDatabaseDefinition<CHANNEL>.Create(this, ref p);
187                    return p;
188                }
189            }
190            public interface IRECORDING_SCHEDULE : ICloneable<IRECORDING_SCHEDULE>
191            {
192                Int64 oid { get; }
193                Int64 programme_oid { get; }
194                Int64 capture_source_oid { get; }
195                Int16 status { get; }
196                String filename { get; }
197                Int64 recording_type { get; }
198                Int64 recording_group { get; }
199                DateTime manual_start_time { get; }
200                DateTime manual_end_time { get; }
201                Int64 manual_channel_oid { get; }
202                Int64 quality_level { get; }
203                Int64 pre_pad_minutes { get; }
204                Int64 post_pad_minutes { get; }
205                Int32 priority { get; }
206                String conversion_profile { get; }
207            }
208    
209          private class RECORDING_SCHEDULE : IRECORDING_SCHEDULE, ICloneable  
210    
211            private class RECORDING_SCHEDULE : IRECORDING_SCHEDULE, ICloneable<RECORDING_SCHEDULE>
212          {          {
213              public RECORDING_SCHEDULE()              public RECORDING_SCHEDULE()
214              {              {
# Line 210  namespace GBPVRProgramDatabaseFixer Line 220  namespace GBPVRProgramDatabaseFixer
220              {              {
221                  BaseDatabaseDefinition<RECORDING_SCHEDULE>.Create(ref instance, r, index);                  BaseDatabaseDefinition<RECORDING_SCHEDULE>.Create(ref instance, r, index);
222              }              }
223              public object Clone()              IRECORDING_SCHEDULE ICloneable<IRECORDING_SCHEDULE>.Clone()
224                {
225                    return Clone();
226                }
227                public RECORDING_SCHEDULE Clone()
228              {              {
229                  RECORDING_SCHEDULE p = new RECORDING_SCHEDULE();                  RECORDING_SCHEDULE p = new RECORDING_SCHEDULE();
230                  BaseDatabaseDefinition<RECORDING_SCHEDULE>.Create(this, ref p);                  BaseDatabaseDefinition<RECORDING_SCHEDULE>.Create(this, ref p);
231                  return p;                    return p;
232              }              }
233              #region IRECORDING_SCHEDULE members              #region IRECORDING_SCHEDULE members
234              public Int64 oid { get; set; }              public Int64 oid { get; set; }
# Line 237  namespace GBPVRProgramDatabaseFixer Line 251  namespace GBPVRProgramDatabaseFixer
251                            
252          }          }
253    
254          public interface IPROGRAMME : IEquatable<IPROGRAMME>, ICloneable          public interface IPROGRAMME : IEquatable<IPROGRAMME>, ICloneable<IPROGRAMME>
255          {          {
256              Int64 oid { get; set; }              Int64 oid { get; set; }
257              String name { get; set; }              String name { get; set; }
# Line 252  namespace GBPVRProgramDatabaseFixer Line 266  namespace GBPVRProgramDatabaseFixer
266              string ToString();              string ToString();
267              IProgramDefinition AsXMLTVProgramDefinition(ISQLLITE sqllite);              IProgramDefinition AsXMLTVProgramDefinition(ISQLLITE sqllite);
268          }          }
269          private class PROGRAMME : IPROGRAMME, ICloneable          private class PROGRAMME : IPROGRAMME, ICloneable<PROGRAMME>
270          {          {
271              
272              public object Clone()              IPROGRAMME ICloneable<IPROGRAMME>.Clone()
273                {
274                    return Clone();
275                }
276                public PROGRAMME Clone()
277              {              {
278                  PROGRAMME p = new PROGRAMME();                  PROGRAMME p = new PROGRAMME();
279                  BaseDatabaseDefinition<PROGRAMME>.Create(this, ref p);                  BaseDatabaseDefinition<PROGRAMME>.Create(this, ref p);
280                  return p;                    return p;
281              }              }
   
282              public PROGRAMME()              public PROGRAMME()
283              {              {
284                  BaseDatabaseDefinition<PROGRAMME>.CreateDefault(this);                  BaseDatabaseDefinition<PROGRAMME>.CreateDefault(this);
# Line 333  namespace GBPVRProgramDatabaseFixer Line 350  namespace GBPVRProgramDatabaseFixer
350                  return this.ToString().GetHashCode();                  return this.ToString().GetHashCode();
351              }              }
352    
353                
354    
355    
356    
357    
358    
359              
360          }          }
361          #endregion          #endregion
362          private static class TABLES          private static class TABLES
# Line 419  namespace GBPVRProgramDatabaseFixer Line 442  namespace GBPVRProgramDatabaseFixer
442                      if (!xmltv_entry.Equals(program_xmltv_entry))                      if (!xmltv_entry.Equals(program_xmltv_entry))
443                      {                      {
444                          // data is different                                                  // data is different                        
445                          var updated_program = (IPROGRAMME)program.Clone();                          var updated_program = program.Clone();
446    
447                          if (program_xmltv_entry.Title != xmltv_entry.Title)                          if (program_xmltv_entry.Title != xmltv_entry.Title)
448                          {                          {

Legend:
Removed from v.223  
changed lines
  Added in v.224

  ViewVC Help
Powered by ViewVC 1.1.22