Update of /cvsroot/gtkpod/libgpod/src
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17031/src

Modified Files:
        itdb.h 
Log Message:
        * src/itdb.h: added padding to exported structures so new entries
        can be added without loosing backward run-time compatibility.

        Comments welcome.



Index: itdb.h
===================================================================
RCS file: /cvsroot/gtkpod/libgpod/src/itdb.h,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- itdb.h      27 Apr 2007 15:57:44 -0000      1.65
+++ itdb.h      28 Apr 2007 02:54:05 -0000      1.66
@@ -110,20 +110,24 @@
 } Itdb_IpodModel;
 
 struct _Itdb_IpodInfo {
-       /* model_number is abbreviated: if the first character is not
-         numeric, it is ommited. e.g. "MA350 -> A350", "M9829 -> 9829" */
-       const gchar *model_number;
-        const double capacity;  /* in GB */
-       const Itdb_IpodModel ipod_model;
-       const Itdb_IpodGeneration ipod_generation;
-        /* Number of music (Fnn) dirs created by iTunes. The exact
-          number seems to be version dependent. Therefore, the
-          numbers here represent a mixture of reported values and
-          common sense. Note: this number does not necessarily
-          represent the number of dirs present on a particular
-          iPod. It is used when setting up a new iPod from
-          scratch. */
-        const guint musicdirs;
+    /* model_number is abbreviated: if the first character is not
+       numeric, it is ommited. e.g. "MA350 -> A350", "M9829 -> 9829" */
+    const gchar *model_number;
+    const double capacity;  /* in GB */
+    const Itdb_IpodModel ipod_model;
+    const Itdb_IpodGeneration ipod_generation;
+    /* Number of music (Fnn) dirs created by iTunes. The exact number
+       seems to be version dependent. Therefore, the numbers here
+       represent a mixture of reported values and common sense. Note:
+       this number does not necessarily represent the number of dirs
+       present on a particular iPod. It is used when setting up a new
+       iPod from scratch. */
+    const guint musicdirs;
+    /* reserved for future use */
+    const gint reserved_int1;
+    const gint reserved_int2;
+    gconstpointer reserved1;
+    gconstpointer reserved2;
 };
 
 
@@ -350,8 +354,12 @@
     guint32 limitsort;         /* See types defined above */
     guint32 limitvalue;        /* The value typed next to "Limit
                                  type" */
-    guint8  matchcheckedonly;  /* "Match only checked songs" check
-                                 box */
+    guint8  matchcheckedonly;  /* "Match only checked songs" check box */
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
 };
 
 struct _Itdb_SPLRule
@@ -380,6 +388,11 @@
     guint32 unk060;
     guint32 unk064;
     guint32 unk068;
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
 };
 
 
@@ -389,6 +402,11 @@
     guint32 match_operator;  /* "All" (logical AND): Itdb_SPLMATCH_AND,
                                "Any" (logical OR): Itdb_SPLMATCH_OR */
     GList *rules;
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
 };
 
 
@@ -448,6 +466,11 @@
     gint16  height;
     gint16  horizontal_padding;
     gint16  vertical_padding;
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
 };
 
 struct _Itdb_Artwork {
@@ -465,6 +488,11 @@
     guint32 artwork_size;  /* Size in bytes of the original source
                              image (PhotoDB only -- don't touch in
                              case of ArtworkDB!) */
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
     /* below is for use by application */
     guint64 usertype;
     gpointer userdata;
@@ -479,6 +507,11 @@
     GList *photos;      /* (Itdb_Artwork *)     */
     GList *photoalbums; /* (Itdb_PhotoAlbum *)  */
     Itdb_Device *device;/* iPod device info     */
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
     /* below is for use by application */
     guint64 usertype;
     gpointer userdata;
@@ -495,6 +528,11 @@
     Itdb_Device *device;/* iPod device info     */
     guint32 version;
     guint64 id;
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
     /* below is for use by application */
     guint64 usertype;
     gpointer userdata;
@@ -531,6 +569,11 @@
     /* set automatically at time of writing the PhotoDB */
     gint32  album_id;
     gint32  prev_album_id;
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
     /* below is for use by application */
     guint64 usertype;
     gpointer userdata;
@@ -556,8 +599,13 @@
     guint32 podcastflag;  /* ITDB_PL_FLAG_NORM/_PODCAST            */
     Itdb_SPLPref splpref;      /* smart playlist prefs                  */
     Itdb_SPLRules splrules;    /* rules for smart playlists             */
-    gpointer reserved1;   /* reserved for MHOD100 implementation   */
-    gpointer reserved2;   /* reserved for MHOD100 implementation   */
+    gpointer reserved100; /* reserved for MHOD100 implementation   */
+    gpointer reserved101; /* reserved for MHOD100 implementation   */
+    /* reserved for future use */
+    gint32 reserved_int1;
+    gint32 reserved_int2;
+    gpointer reserved1;
+    gpointer reserved2;
     /* below is for use by application */
     guint64 usertype;
     gpointer userdata;
@@ -867,6 +915,16 @@
   /* This is for Cover Art support */
   struct _Itdb_Artwork *artwork;
 
+  /* reserved for future use */
+  gint32 reserved_int1;
+  gint32 reserved_int2;
+  gint32 reserved_int3;
+  gint32 reserved_int4;
+  gint32 reserved_int5;
+  gint32 reserved_int6;
+  gpointer reserved1;
+  gpointer reserved2;
+
   /* below is for use by application */
   guint64 usertype;
   gpointer userdata;


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to