adium 2509:3e5d7a71e9fd: libjson-glib.framework

commits at adium.im commits at adium.im
Sun Jun 21 17:44:56 UTC 2009


details:	http://hg.adium.im/adium/rev/3e5d7a71e9fd
revision:	2509:3e5d7a71e9fd
author:		Zachary West <zacw at adium.im>
date:		Sun Jun 21 13:43:25 2009 -0400

libjson-glib.framework
Subject: adium 2510:f4b9ca6c6b36: Project changes for libjson-glib.framework

details:	http://hg.adium.im/adium/rev/f4b9ca6c6b36
revision:	2510:f4b9ca6c6b36
author:		Zachary West <zacw at adium.im>
date:		Sun Jun 21 13:43:35 2009 -0400

Project changes for libjson-glib.framework
Subject: adium 2511:2ca847c2b11c: Dependency build script changes for json-glib

details:	http://hg.adium.im/adium/rev/2ca847c2b11c
revision:	2511:2ca847c2b11c
author:		Zachary West <zacw at adium.im>
date:		Sun Jun 21 13:44:00 2009 -0400

Dependency build script changes for json-glib
Subject: adium 2512:af575111bcee: im.pidgin.adium at 83638905971b97ae72bc7318a7f152adf5e8b6f1 which has pidgin-facebookchat at r508 (1.51+)

details:	http://hg.adium.im/adium/rev/af575111bcee
revision:	2512:af575111bcee
author:		Zachary West <zacw at adium.im>
date:		Sun Jun 21 13:44:29 2009 -0400

im.pidgin.adium at 83638905971b97ae72bc7318a7f152adf5e8b6f1 which has pidgin-facebookchat at r508 (1.51+)

diffs (915 lines):

diff -r 375347213ef2 -r af575111bcee Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj	Sun Jun 21 13:20:47 2009 -0400
+++ b/Adium.xcodeproj/project.pbxproj	Sun Jun 21 13:44:29 2009 -0400
@@ -144,6 +144,9 @@
 		11879C0B0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 11879C0A0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m */; };
 		11879DF80F6FFC0B00CACFB1 /* OAuthConsumer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */; };
 		11879E0A0F6FFC1000CACFB1 /* OAuthConsumer.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */; };
+		118A44500FEEA828008153C0 /* libjson-glib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
+		118A44510FEEA828008153C0 /* libjson-glib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
+		118A44540FEEA82E008153C0 /* libjson-glib.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 118A444F0FEEA828008153C0 /* libjson-glib.framework */; };
 		1192E6D90FD3056F003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 1192E6B10FD30307003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.h */; };
 		1192E6DA0FD30578003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 1192E6B20FD30307003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.m */; };
 		11945F400F7935A2002A54B3 /* Ignore.png in Resources */ = {isa = PBXBuildFile; fileRef = 11945F3F0F7935A2002A54B3 /* Ignore.png */; };
@@ -1679,6 +1682,7 @@
 			dstPath = "";
 			dstSubfolderSpec = 10;
 			files = (
+				118A44540FEEA82E008153C0 /* libjson-glib.framework in Copy Frameworks */,
 				633404710F9C18EF003C77A9 /* AIUtilities.framework in Copy Frameworks */,
 				639DF9D80F97E678003C9A32 /* AdiumLibpurple.framework in Copy Frameworks */,
 				11879E0A0F6FFC1000CACFB1 /* OAuthConsumer.framework in Copy Frameworks */,
@@ -1889,6 +1893,7 @@
 		11879C090F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AITwitterAccountOAuthSetup.h; path = "Plugins/Twitter Plugin/AITwitterAccountOAuthSetup.h"; sourceTree = "<group>"; };
 		11879C0A0F6FF4C400CACFB1 /* AITwitterAccountOAuthSetup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AITwitterAccountOAuthSetup.m; path = "Plugins/Twitter Plugin/AITwitterAccountOAuthSetup.m"; sourceTree = "<group>"; };
 		11879DF70F6FFC0B00CACFB1 /* OAuthConsumer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OAuthConsumer.framework; path = Frameworks/OAuthConsumer.framework; sourceTree = "<group>"; };
+		118A444F0FEEA828008153C0 /* libjson-glib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "libjson-glib.framework"; path = "Frameworks/libjson-glib.framework"; sourceTree = "<group>"; };
 		1192E6B10FD30307003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAnnoyingIRCMessagesHiderPlugin.h; path = "Plugins/Purple Service/AIAnnoyingIRCMessagesHiderPlugin.h"; sourceTree = "<group>"; };
 		1192E6B20FD30307003CAEF5 /* AIAnnoyingIRCMessagesHiderPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAnnoyingIRCMessagesHiderPlugin.m; path = "Plugins/Purple Service/AIAnnoyingIRCMessagesHiderPlugin.m"; sourceTree = "<group>"; };
 		11945F3F0F7935A2002A54B3 /* Ignore.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Ignore.png; path = "Frameworks/Adium Framework/Resources/Ignore.png"; sourceTree = "<group>"; };
@@ -4742,6 +4747,7 @@
 				811035180CDE783800EC6038 /* SecurityInterface.framework in Frameworks */,
 				633405990F9C2C00003C77A9 /* AIUtilities.framework in Frameworks */,
 				3485D8EB09EB446900232CC4 /* Adium.framework in Frameworks */,
+				118A44500FEEA828008153C0 /* libjson-glib.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -4788,6 +4794,7 @@
 				340C1ABF0BD58FAB00D09235 /* Security.framework in Frameworks */,
 				31E0CD810C5EEF5200271DB1 /* CoreAudio.framework in Frameworks */,
 				11879DF80F6FFC0B00CACFB1 /* OAuthConsumer.framework in Frameworks */,
+				118A44510FEEA828008153C0 /* libjson-glib.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -4882,6 +4889,7 @@
 		1172FCA10CDAA8DE00B8E233 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				118A444F0FEEA828008153C0 /* libjson-glib.framework */,
 				1172FBC30CDAA8D400B8E233 /* libglib.framework */,
 				1172FBC40CDAA8D400B8E233 /* libgmodule.framework */,
 				1172FBC50CDAA8D400B8E233 /* libgobject.framework */,
@@ -12333,6 +12341,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2060FAFAA4700B310AC /* AdiumLibpurple.xcconfig */;
 			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SRCROOT)/Frameworks\"",
+				);
 			};
 			name = Debug;
 		};
@@ -12340,6 +12352,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2060FAFAA4700B310AC /* AdiumLibpurple.xcconfig */;
 			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SRCROOT)/Frameworks\"",
+				);
 			};
 			name = Release;
 		};
@@ -12347,6 +12363,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2060FAFAA4700B310AC /* AdiumLibpurple.xcconfig */;
 			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SRCROOT)/Frameworks\"",
+				);
 			};
 			name = "Release-Debug";
 		};
@@ -12459,6 +12479,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2040FAFAA4700B310AC /* Adium.xcconfig */;
 			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SRCROOT)/Frameworks\"",
+				);
 			};
 			name = Debug;
 		};
@@ -12466,6 +12490,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2040FAFAA4700B310AC /* Adium.xcconfig */;
 			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SRCROOT)/Frameworks\"",
+				);
 			};
 			name = Release;
 		};
@@ -12473,6 +12501,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 63C7E2040FAFAA4700B310AC /* Adium.xcconfig */;
 			buildSettings = {
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"\"$(SRCROOT)/Frameworks\"",
+				);
 			};
 			name = "Release-Debug";
 		};
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Headers
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Headers	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,1 @@
+Versions/Current/Headers
\ No newline at end of file
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Resources
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Resources	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,1 @@
+Versions/Current/Resources
\ No newline at end of file
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-enum-types.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-enum-types.h	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,24 @@
+
+/* Generated data (by glib-mkenums) */
+
+#ifndef __JSON_ENUM_TYPES_H__
+#define __JSON_ENUM_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* enumerations from "../json-glib/json-parser.h" */
+GType json_parser_error_get_type (void) G_GNUC_CONST;
+#define JSON_TYPE_PARSER_ERROR (json_parser_error_get_type())
+
+/* enumerations from "../json-glib/json-types.h" */
+GType json_node_type_get_type (void) G_GNUC_CONST;
+#define JSON_TYPE_NODE_TYPE (json_node_type_get_type())
+
+G_END_DECLS
+
+#endif /* !__JSON_ENUM_TYPES_H__ */
+
+/* Generated data ends here */
+
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-generator.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-generator.h	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,82 @@
+/* json-generator.h - JSON streams generator
+ * 
+ * This file is part of JSON-GLib
+ * Copyright (C) 2007  OpenedHand Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Author:
+ *   Emmanuele Bassi  <ebassi at openedhand.com>
+ */
+
+#ifndef __JSON_GENERATOR_H__
+#define __JSON_GENERATOR_H__
+
+#include <json-glib/json-types.h>
+
+G_BEGIN_DECLS
+
+#define JSON_TYPE_GENERATOR             (json_generator_get_type ())
+#define JSON_GENERATOR(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSON_TYPE_GENERATOR, JsonGenerator))
+#define JSON_IS_GENERATOR(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSON_TYPE_GENERATOR))
+#define JSON_GENERATOR_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), JSON_TYPE_GENERATOR, JsonGeneratorClass))
+#define JSON_IS_GENERATOR_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), JSON_TYPE_GENERATOR))
+#define JSON_GENERATOR_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), JSON_TYPE_GENERATOR, JsonGeneratorClass))
+
+typedef struct _JsonGenerator           JsonGenerator;
+typedef struct _JsonGeneratorPrivate    JsonGeneratorPrivate;
+typedef struct _JsonGeneratorClass      JsonGeneratorClass;
+
+/**
+ * JsonGenerator:
+ *
+ * JSON data streams generator. The contents of the #JsonGenerator structure
+ * are private and should only be accessed via the provided API.
+ */
+struct _JsonGenerator
+{
+  /*< private >*/
+  GObject parent_instance;
+
+  JsonGeneratorPrivate *priv;
+};
+
+/**
+ * JsonGeneratorClass:
+ *
+ * #JsonGenerator class
+ */
+struct _JsonGeneratorClass
+{
+  /*< private >*/
+  GObjectClass parent_class;
+
+  /* padding, for future expansion */
+  void (* _json_reserved1) (void);
+  void (* _json_reserved2) (void);
+  void (* _json_reserved3) (void);
+  void (* _json_reserved4) (void);
+};
+
+GType json_generator_get_type (void) G_GNUC_CONST;
+
+JsonGenerator *json_generator_new (void);
+gchar *        json_generator_to_data  (JsonGenerator  *generator,
+                                        gsize          *length);
+gboolean       json_generator_to_file  (JsonGenerator  *generator,
+                                        const gchar    *filename,
+                                        GError        **error);
+void           json_generator_set_root (JsonGenerator  *generator,
+                                        JsonNode       *node);
+
+G_END_DECLS
+
+#endif /* __JSON_GENERATOR_H__ */
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-glib.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-glib.h	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,10 @@
+#ifndef __JSON_GLIB_H__
+#define __JSON_GLIB_H__
+
+#include <json-glib/json-types.h>
+#include <json-glib/json-generator.h>
+#include <json-glib/json-parser.h>
+#include <json-glib/json-version.h>
+#include <json-glib/json-enum-types.h>
+
+#endif /* __JSON_GLIB_H__ */
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-gobject.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-gobject.h	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,88 @@
+/* json-gobject.h - JSON GObject integration
+ * 
+ * This file is part of JSON-GLib
+ * Copyright (C) 2007  OpenedHand Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Author:
+ *   Emmanuele Bassi  <ebassi at openedhand.com>
+ */
+
+#ifndef __JSON_GOBJECT_H__
+#define __JSON_GOBJECT_H__
+
+#include <json-glib/json-types.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define JSON_TYPE_SERIALIZABLE                  (json_serializable_get_type ())
+#define JSON_SERIALIZABLE(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSON_TYPE_SERIALIZABLE, JsonSerializable))
+#define JSON_IS_SERIALIZABLE(obj)               (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSON_TYPE_SERIALIZABLE))
+#define JSON_SERIALIZABLE_GET_IFACE(obj)        (G_TYPE_INSTANCE_GET_INTERFACE ((obj), JSON_TYPE_SERIALIZABLE, JsonSerializableIface))
+
+typedef struct _JsonSerializable        JsonSerializable; /* dummy */
+typedef struct _JsonSerializableIface   JsonSerializableIface;
+
+/**
+ * JsonSerializableIface:
+ * @serialize_property: virtual function for serializing a #GObject property
+ *   into a #JsonNode
+ * @deserialize_property: virtual function for deserializing a #JsonNode
+ *   into a #GObject property
+ *
+ * Interface that allows serializing and deserializing #GObject<!-- -->s
+ * with properties storing complex data types. The json_serialize_gobject()
+ * function will check if the passed #GObject implements this interface,
+ * so it can also be used to override the default property serialization
+ * sequence.
+ */
+struct _JsonSerializableIface
+{
+  /*< private >*/
+  GTypeInterface g_iface;
+
+  /*< public >*/
+  JsonNode *(* serialize_property)   (JsonSerializable *serializable,
+                                      const gchar      *property_name,
+                                      const GValue     *value,
+                                      GParamSpec       *pspec);
+  gboolean  (* deserialize_property) (JsonSerializable *serializable,
+                                      const gchar      *property_name,
+                                      GValue           *value,
+                                      GParamSpec       *pspec,
+                                      JsonNode         *property_node);
+};
+
+GType     json_serializable_get_type (void) G_GNUC_CONST;
+
+JsonNode *json_serializable_serialize_property   (JsonSerializable *serializable,
+                                                  const gchar      *property_name,
+                                                  const GValue     *value,
+                                                  GParamSpec       *pspec);
+gboolean  json_serializable_deserialize_property (JsonSerializable *serializable,
+                                                  const gchar      *property_name,
+                                                  GValue           *value,
+                                                  GParamSpec       *pspec,
+                                                  JsonNode         *property_node);
+
+
+GObject *json_construct_gobject (GType         gtype,
+                                 const gchar  *data,
+                                 gsize         length,
+                                 GError      **error);
+gchar *  json_serialize_gobject (GObject      *gobject,
+                                 gsize        *length) G_GNUC_MALLOC;
+
+G_END_DECLS
+
+#endif /* __JSON_GOBJECT_H__ */
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-parser.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-parser.h	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,142 @@
+/* json-parser.h - JSON streams parser
+ * 
+ * This file is part of JSON-GLib
+ * Copyright (C) 2007  OpenedHand Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Author:
+ *   Emmanuele Bassi  <ebassi at openedhand.com>
+ */
+
+#ifndef __JSON_PARSER_H__
+#define __JSON_PARSER_H__
+
+#include <glib-object.h>
+#include "json-types.h"
+
+G_BEGIN_DECLS
+
+#define JSON_TYPE_PARSER                (json_parser_get_type ())
+#define JSON_PARSER(obj)                (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSON_TYPE_PARSER, JsonParser))
+#define JSON_IS_PARSER(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSON_TYPE_PARSER))
+#define JSON_PARSER_CLASS(klass)        (G_TYPE_CHECK_CLASS_CAST ((klass), JSON_TYPE_PARSER, JsonParserClass))
+#define JSON_IS_PARSER_CLASS(klass)     (G_TYPE_CHECK_CLASS_TYPE ((klass), JSON_TYPE_PARSER))
+#define JSON_PARSER_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), JSON_TYPE_PARSER, JsonParserClass))
+
+#define JSON_PARSER_ERROR               (json_parser_error_quark ())
+
+typedef struct _JsonParser              JsonParser;
+typedef struct _JsonParserPrivate       JsonParserPrivate;
+typedef struct _JsonParserClass         JsonParserClass;
+
+/**
+ * JsonParserError:
+ * @JSON_PARSER_ERROR_PARSE: parse error
+ * @JSON_PARSER_ERROR_UNKNOWN: unknown error
+ *
+ * Error enumeration for #JsonParser
+ */
+typedef enum {
+  JSON_PARSER_ERROR_PARSE,
+  
+  JSON_PARSER_ERROR_UNKNOWN
+} JsonParserError;
+
+/**
+ * JsonParser:
+ * 
+ * JSON data streams parser. The contents of the #JsonParser structure are
+ * private and should only be accessed via the provided API.
+ */
+struct _JsonParser
+{
+  /*< private >*/
+  GObject parent_instance;
+
+  JsonParserPrivate *priv;
+};
+
+/**
+ * JsonParserClass:
+ * @parse_start: class handler for the JsonParser::parse-start signal
+ * @object_start: class handler for the JsonParser::object-start signal
+ * @object_member: class handler for the JsonParser::object-member signal
+ * @object_end: class handler for the JsonParser::object-end signal
+ * @array_start: class handler for the JsonParser::array-start signal
+ * @array_element: class handler for the JsonParser::array-element signal
+ * @array_end: class handler for the JsonParser::array-end signal
+ * @parse_end: class handler for the JsonParser::parse-end signal
+ * @error: class handler for the JsonParser::error signal
+ *
+ * #JsonParser class.
+ */
+struct _JsonParserClass
+{
+  /*< private >*/
+  GObjectClass parent_class;
+
+  /*< public  >*/
+  void (* parse_start)   (JsonParser   *parser);
+
+  void (* object_start)  (JsonParser   *parser);
+  void (* object_member) (JsonParser   *parser,
+                          JsonObject   *object,
+                          const gchar  *member_name);
+  void (* object_end)    (JsonParser   *parser,
+                          JsonObject   *object);
+
+  void (* array_start)   (JsonParser   *parser);
+  void (* array_element) (JsonParser   *parser,
+                          JsonArray    *array,
+                          gint          index_);
+  void (* array_end)     (JsonParser   *parser,
+                          JsonArray    *array);
+
+  void (* parse_end)     (JsonParser   *parser);
+  
+  void (* error)         (JsonParser   *parser,
+                          const GError *error);
+
+  /*< private >*/
+  /* padding for future expansion */
+  void (* _json_reserved1) (void);
+  void (* _json_reserved2) (void);
+  void (* _json_reserved3) (void);
+  void (* _json_reserved4) (void);
+  void (* _json_reserved5) (void);
+  void (* _json_reserved6) (void);
+  void (* _json_reserved7) (void);
+  void (* _json_reserved8) (void);
+};
+
+GQuark      json_parser_error_quark      (void);
+GType       json_parser_get_type         (void) G_GNUC_CONST;
+
+JsonParser *json_parser_new              (void);
+gboolean    json_parser_load_from_file   (JsonParser   *parser,
+                                          const gchar  *filename,
+                                          GError      **error);
+gboolean    json_parser_load_from_data   (JsonParser   *parser,
+                                          const gchar  *data,
+                                          gssize        length,
+                                          GError      **error);
+
+JsonNode *  json_parser_get_root         (JsonParser   *parser);
+
+guint       json_parser_get_current_line (JsonParser   *parser);
+guint       json_parser_get_current_pos  (JsonParser   *parser);
+gboolean    json_parser_has_assignment   (JsonParser   *parser,
+                                          gchar       **variable_name);
+
+G_END_DECLS
+
+#endif /* __JSON_PARSER_H__ */
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-types.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-types.h	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,170 @@
+/* json-types.h - JSON data types
+ * 
+ * This file is part of JSON-GLib
+ * Copyright (C) 2007  OpenedHand Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Author:
+ *   Emmanuele Bassi  <ebassi at openedhand.com>
+ */
+
+#ifndef __JSON_TYPES_H__
+#define __JSON_TYPES_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/**
+ * JSON_NODE_TYPE:
+ * @node: a #JsonNode
+ *
+ * Evaluates to the #JsonNodeType contained by @node
+ */
+#define JSON_NODE_TYPE(node)    (((JsonNode *) (node))->type)
+
+#define JSON_TYPE_NODE          (json_node_get_type ())
+#define JSON_TYPE_OBJECT        (json_object_get_type ())
+#define JSON_TYPE_ARRAY         (json_array_get_type ())
+
+/**
+ * JsonObject:
+ *
+ * A JSON object type. The contents of the #JsonObject structure are private
+ * and should only be accessed by the provided API
+ */
+typedef struct _JsonObject      JsonObject;
+
+/**
+ * JsonArray:
+ *
+ * A JSON array type. The contents of the #JsonArray structure are private
+ * and should only be accessed by the provided API
+ */
+typedef struct _JsonArray       JsonArray;
+
+typedef struct _JsonNode        JsonNode;
+
+/**
+ * JsonNodeType:
+ * @JSON_NODE_OBJECT: The node contains a #JsonObject
+ * @JSON_NODE_ARRAY: The node contains a #JsonArray
+ * @JSON_NODE_VALUE: The node contains a fundamental type
+ * @JSON_NODE_NULL: Special type, for nodes containing null
+ *
+ * Indicates the content of a #JsonNode.
+ */
+typedef enum {
+  JSON_NODE_OBJECT,
+  JSON_NODE_ARRAY,
+  JSON_NODE_VALUE,
+  JSON_NODE_NULL
+} JsonNodeType;
+
+/**
+ * JsonNode:
+ * @type: the type of node
+ *
+ * A generic container of JSON data types. The contents of the #JsonNode
+ * structure are private and should only be accessed via the provided
+ * functions and never directly.
+ */
+struct _JsonNode
+{
+  /*< private >*/
+  JsonNodeType type;
+
+  union {
+    JsonObject *object;
+    JsonArray *array;
+    GValue value;
+  } data;
+
+  JsonNode *parent;
+};
+
+GType                 json_node_get_type        (void) G_GNUC_CONST;
+JsonNode *            json_node_new             (JsonNodeType  type);
+JsonNode *            json_node_copy            (JsonNode     *node);
+void                  json_node_free            (JsonNode     *node);
+GType                 json_node_get_value_type  (JsonNode     *node);
+
+void                  json_node_set_object      (JsonNode     *node,
+                                                 JsonObject   *object);
+void                  json_node_take_object     (JsonNode     *node,
+                                                 JsonObject   *object);
+JsonObject *          json_node_get_object      (JsonNode     *node);
+JsonObject *          json_node_dup_object      (JsonNode     *node);
+void                  json_node_set_array       (JsonNode     *node,
+                                                 JsonArray    *array);
+void                  json_node_take_array      (JsonNode     *node,
+                                                 JsonArray    *array);
+JsonArray *           json_node_get_array       (JsonNode     *node);
+JsonArray *           json_node_dup_array       (JsonNode     *node);
+void                  json_node_set_value       (JsonNode     *node,
+                                                 const GValue *value);
+void                  json_node_get_value       (JsonNode     *node,
+                                                 GValue       *value);
+void                  json_node_set_string      (JsonNode     *node,
+                                                 const gchar  *value);
+G_CONST_RETURN gchar *json_node_get_string      (JsonNode     *node);
+gchar *               json_node_dup_string      (JsonNode     *node);
+void                  json_node_set_int         (JsonNode     *node,
+                                                 gint          value);
+gint                  json_node_get_int         (JsonNode     *node);
+void                  json_node_set_double      (JsonNode     *node,
+                                                 gdouble       value);
+gdouble               json_node_get_double      (JsonNode     *node);
+void                  json_node_set_boolean     (JsonNode     *node,
+                                                 gboolean      value);
+gboolean              json_node_get_boolean     (JsonNode     *node);
+JsonNode *            json_node_get_parent      (JsonNode     *node);
+G_CONST_RETURN gchar *json_node_type_name       (JsonNode     *node);
+
+GType                 json_object_get_type      (void) G_GNUC_CONST;
+JsonObject *          json_object_new           (void);
+JsonObject *          json_object_ref           (JsonObject  *object);
+void                  json_object_unref         (JsonObject  *object);
+void                  json_object_add_member    (JsonObject  *object,
+                                                 const gchar *member_name,
+                                                 JsonNode    *node);
+GList *               json_object_get_members   (JsonObject  *object);
+JsonNode *            json_object_get_member    (JsonObject  *object,
+                                                 const gchar *member_name);
+JsonNode *            json_object_dup_member    (JsonObject  *object,
+                                                 const gchar *member_name);
+gboolean              json_object_has_member    (JsonObject  *object,
+                                                 const gchar *member_name);
+void                  json_object_remove_member (JsonObject  *object,
+                                                 const gchar *member_name);
+GList *               json_object_get_values    (JsonObject  *object);
+guint                 json_object_get_size      (JsonObject  *object);
+
+GType                 json_array_get_type       (void) G_GNUC_CONST;
+JsonArray *           json_array_new            (void);
+JsonArray *           json_array_sized_new      (guint        n_elements);
+JsonArray *           json_array_ref            (JsonArray   *array);
+void                  json_array_unref          (JsonArray   *array);
+void                  json_array_add_element    (JsonArray   *array,
+                                                 JsonNode    *node);
+GList *               json_array_get_elements   (JsonArray   *array);
+JsonNode *            json_array_get_element    (JsonArray   *array,
+                                                 guint        index_);
+JsonNode *            json_array_dup_element    (JsonArray   *array,
+                                                 guint        index_);
+void                  json_array_remove_element (JsonArray   *array,
+                                                 guint        index_);
+guint                 json_array_get_length     (JsonArray   *array);
+
+G_END_DECLS
+
+#endif /* __JSON_TYPES_H__ */
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-version.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Headers/json-version.h	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,92 @@
+/* json-version.h - JSON-GLib versioning information
+ * 
+ * This file is part of JSON-GLib
+ * Copyright (C) 2007  OpenedHand Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * Author:
+ *   Emmanuele Bassi  <ebassi at openedhand.com>
+ */
+
+#ifndef __JSON_VERSION_H__
+#define __JSON_VERSION_H__
+
+/**
+ * SECTION:json-version
+ * @short_description: JSON-GLib version checking
+ *
+ * JSON-GLib provides macros to check the version of the library
+ * at compile-time
+ */
+
+/**
+ * JSON_MAJOR_VERSION:
+ *
+ * Json major version component (e.g. 1 if %JSON_VERSION is 1.2.3)
+ */
+#define JSON_MAJOR_VERSION              (0)
+
+/**
+ * JSON_MINOR_VERSION:
+ *
+ * Json minor version component (e.g. 2 if %JSON_VERSION is 1.2.3)
+ */
+#define JSON_MINOR_VERSION              (6)
+
+/**
+ * JSON_MICRO_VERSION:
+ *
+ * Json micro version component (e.g. 3 if %JSON_VERSION is 1.2.3)
+ */
+#define JSON_MICRO_VERSION              (2)
+
+/**
+ * JSON_VERSION
+ *
+ * Json version.
+ */
+#define JSON_VERSION                    (0.6.2)
+
+/**
+ * JSON_VERSION_S:
+ *
+ * Json version, encoded as a string, useful for printing and
+ * concatenation.
+ */
+#define JSON_VERSION_S                  "0.6.2"
+
+/**
+ * JSON_VERSION_HEX:
+ *
+ * Json version, encoded as an hexadecimal number, useful for
+ * integer comparisons.
+ */
+#define JSON_VERSION_HEX                (JSON_MAJOR_VERSION << 24 | \
+                                         JSON_MINOR_VERSION << 16 | \
+                                         JSON_MICRO_VERSION << 8)
+
+/**
+ * JSON_CHECK_VERSION:
+ * @major: required major version
+ * @minor: required minor version
+ * @micro: required micro version
+ *
+ * Compile-time version checking. Evaluates to %TRUE if the version
+ * of Json is greater than the required one.
+ */
+#define JSON_CHECK_VERSION(major,minor,micro)   \
+        (JSON_MAJOR_VERSION > (major) || \
+         (JSON_MAJOR_VERSION == (major) && JSON_MINOR_VERSION > (minor)) || \
+         (JSON_MAJOR_VERSION == (major) && JSON_MINOR_VERSION == (minor) && \
+          JSON_MICRO_VERSION >= (micro)))
+
+#endif /* __JSON_VERSION_H__ */
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Resources/English.lproj/InfoPlist.strings
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/1.0.0/Resources/English.lproj/InfoPlist.strings	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,3 @@
+/* Localized versions of Info.plist keys */
+
+CFBundleName = "libjson-glib";
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/Resources/Info.plist
Binary file Frameworks/libjson-glib.framework/Versions/1.0.0/Resources/Info.plist has changed
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/1.0.0/libjson-glib
Binary file Frameworks/libjson-glib.framework/Versions/1.0.0/libjson-glib has changed
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/Versions/Current
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/Versions/Current	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,1 @@
+1.0.0
\ No newline at end of file
diff -r 375347213ef2 -r af575111bcee Frameworks/libjson-glib.framework/libjson-glib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Frameworks/libjson-glib.framework/libjson-glib	Sun Jun 21 13:44:29 2009 -0400
@@ -0,0 +1,1 @@
+Versions/Current/libjson-glib
\ No newline at end of file
diff -r 375347213ef2 -r af575111bcee Frameworks/libpurple.framework/Versions/0.6.0/Headers/yahoo_packet.h
--- a/Frameworks/libpurple.framework/Versions/0.6.0/Headers/yahoo_packet.h	Sun Jun 21 13:20:47 2009 -0400
+++ b/Frameworks/libpurple.framework/Versions/0.6.0/Headers/yahoo_packet.h	Sun Jun 21 13:44:29 2009 -0400
@@ -107,6 +107,7 @@
 	YAHOO_SERVICE_CHGRP_15 = 0xe7,
 	YAHOO_SERVICE_STATUS_15 = 0xf0,
 	YAHOO_SERVICE_LIST_15 = 0xf1,
+	YAHOO_SERVICE_MESSAGE_ACK = 0xfb,
 	YAHOO_SERVICE_WEBLOGIN = 0x0226,
 	YAHOO_SERVICE_SMS_MSG = 0x02ea
 	/* YAHOO_SERVICE_DISCONNECT = 0x07d1 Server forces us to disconnect. Is sent with TCP FIN flag set */
diff -r 375347213ef2 -r af575111bcee Frameworks/libpurple.framework/Versions/0.6.0/libpurple
Binary file Frameworks/libpurple.framework/Versions/0.6.0/libpurple has changed
diff -r 375347213ef2 -r af575111bcee Utilities/dep-build-scripts/common.sh
--- a/Utilities/dep-build-scripts/common.sh	Sun Jun 21 13:20:47 2009 -0400
+++ b/Utilities/dep-build-scripts/common.sh	Sun Jun 21 13:44:29 2009 -0400
@@ -12,6 +12,7 @@
 MEANWHILE=meanwhile-1.0.2
 GADU=libgadu-1.7.1
 INTLTOOL=intltool-0.36.2
+JSONLIB=json-glib-0.6.2
 GPG_ERROR=libgpg-error-1.6
 GCRYPT=libgcrypt-1.4.1
 LIBXML2=libxml2-2.7.3
diff -r 375347213ef2 -r af575111bcee Utilities/dep-build-scripts/framework_maker/frameworkize.py
--- a/Utilities/dep-build-scripts/framework_maker/frameworkize.py	Sun Jun 21 13:20:47 2009 -0400
+++ b/Utilities/dep-build-scripts/framework_maker/frameworkize.py	Sun Jun 21 13:44:29 2009 -0400
@@ -40,9 +40,9 @@
     return (library_name, 'A')
   # Note: these styles are named after where I noticed them, not necessarily
   # where they originate. -RAF
-  regexes = [r'([A-Za-z0-9_]*)-([0-9.]*)', #apr style
-             r'([A-Za-z0-9_]*[a-zA-Z])\.([0-9.]*)', #gnu style
-             r'([A-Za-z0-9_]*[a-zA-Z])([0-9.]*)', #sqlite style
+  regexes = [r'([A-Za-z0-9_-]*)-([0-9.]*)$', #apr style
+             r'([A-Za-z0-9_-]*[a-zA-Z])\.([0-9.]*)$', #gnu style
+             r'([A-Za-z0-9_-]*[a-zA-Z])([0-9.]*)$', #sqlite style
              ]
   for regex in regexes:
     match = re.match(regex, library_name)
diff -r 375347213ef2 -r af575111bcee Utilities/dep-build-scripts/purple_dependencies_make.sh
--- a/Utilities/dep-build-scripts/purple_dependencies_make.sh	Sun Jun 21 13:20:47 2009 -0400
+++ b/Utilities/dep-build-scripts/purple_dependencies_make.sh	Sun Jun 21 13:44:29 2009 -0400
@@ -121,4 +121,32 @@
     cd ..
 done
 
+# json-glib for the facebook prpl
+for ARCH in ppc i386 ; do
+	echo "Building json-glib for $ARCH"
+
+	export CFLAGS="$BASE_CFLAGS -arch $ARCH"
+	export CXXFLAGS="$CFLAGS"
+	export LDFLAGS="$BASE_LDFLAGS -arch $ARCH"
+
+    mkdir json-glib-$ARCH || true
+    cd json-glib-$ARCH
+
+	case $ARCH in
+		ppc) TARGET_DIR="$TARGET_DIR_PPC"
+    		export PATH="$PATH_PPC"
+            export PKG_CONFIG_PATH="$TARGET_DIR_PPC/lib/pkgconfig";;
+		i386) TARGET_DIR="$TARGET_DIR_I386"
+            export PATH="$PATH_I386"
+            export PKG_CONFIG_PATH="$TARGET_DIR_I386/lib/pkgconfig";;
+	esac
+
+	echo '  Configuring...'   
+    "$SOURCEDIR/$JSONLIB/configure" --prefix=$TARGET_DIR #>> $LOG_FILE 2>&1
+    
+	echo '  make && make install'
+    make -j $NUMBER_OF_CORES && make install #>> $LOG_FILE 2>&1
+    cd ..
+done
+
 echo "Done - now run ./purple_make.sh"
diff -r 375347213ef2 -r af575111bcee Utilities/dep-build-scripts/purple_make.sh
--- a/Utilities/dep-build-scripts/purple_make.sh	Sun Jun 21 13:20:47 2009 -0400
+++ b/Utilities/dep-build-scripts/purple_make.sh	Sun Jun 21 13:44:29 2009 -0400
@@ -87,13 +87,13 @@
 	cp $SOURCEDIR/cyrus-sasl-2.1.18/include/*.h $TARGET_DIR/include/sasl
 	
 	#Note that whether we use openssl or cdsa the same underlying workarounds (as seen in jabber.c, only usage at present 12/07) are needed
-	export CFLAGS="$BASE_CFLAGS -arch $ARCH -I$TARGET_DIR/include -I$SDK_ROOT/usr/include/kerberosIV -DHAVE_SSL -DHAVE_OPENSSL -fno-common "
+	export CFLAGS="$BASE_CFLAGS -arch $ARCH -I$TARGET_DIR/include  -I$TARGET_DIR/include/json-glib-1.0 -I$SDK_ROOT/usr/include/kerberosIV -DHAVE_SSL -DHAVE_OPENSSL -fno-common "
 	
 	if [ "$DEBUG_SYMBOLS" = "TRUE" ] ; then
 		export CFLAGS="$CFLAGS -gdwarf-2 -g3" 
 	fi
 	
-	export LDFLAGS="$BASE_LDFLAGS -L$TARGET_DIR/lib -arch $ARCH -lsasl2"
+	export LDFLAGS="$BASE_LDFLAGS -L$TARGET_DIR/lib -arch $ARCH -lsasl2 -ljson-glib-1.0"
 	export PKG_CONFIG="$TARGET_DIR_BASE-$ARCH/bin/pkg-config"
 	export MSGFMT="`which msgfmt`"
 	
diff -r 375347213ef2 -r af575111bcee Utilities/dep-build-scripts/universalize.sh
--- a/Utilities/dep-build-scripts/universalize.sh	Sun Jun 21 13:20:47 2009 -0400
+++ b/Utilities/dep-build-scripts/universalize.sh	Sun Jun 21 13:44:29 2009 -0400
@@ -16,6 +16,7 @@
 MEANWHILE=libmeanwhile.1
 GADU=libgadu.3.7.0
 SASL=libsasl2.2
+JSONGLIB=libjson-glib-1.0.0
 
 # vv
 # I'm not sure what to do to universalize the vv libs, especially the gst-plugins
@@ -54,6 +55,9 @@
 # no headers to copy, make an empty file so that rtool isn't sad
 touch libgthread-2.0.0/no_headers_here.txt
 
+mkdir libjson-glib-1.0.0 || true
+cp -R $TARGET_DIR_I386/include/json-glib-1.0/ $UNIVERSAL_DIR/include/libjson-glib-1.0.0/
+
 rm -rf $UNIVERSAL_DIR/include/$PURPLE_FOLDER
 cp -R $TARGET_DIR_I386/include/libpurple $UNIVERSAL_DIR/include/$PURPLE_FOLDER
 # Another hack: we need libgadu.h
@@ -64,7 +68,7 @@
 
 cd $UNIVERSAL_DIR
 
-for lib in $LIBINTL $LIBGLIB $LIBGOBJECT $LIBGTHREAD $LIBGMODULE $MEANWHILE \
+for lib in $LIBINTL $LIBGLIB $LIBGOBJECT $LIBGTHREAD $LIBGMODULE $MEANWHILE $JSONGLIB \
            $GADU $LIBPURPLE; do
 	echo "Making $lib universal..."
 	python $SCRIPT_DIR/framework_maker/universalize.py \




More information about the commits mailing list