Index: ChangeLog ================================================================== --- ChangeLog +++ ChangeLog @@ -1,8 +1,24 @@ Legend: * Changes of existing features or bugfixes. + New features. + +ObjFW 0.5.4 -> ObjFW 0.6, 27.02.2012 + The differences between 0.5.4 and 0.6 are too big to list them all. However, + the major new features are: + * OFString, OFArray, OFDictionary, OFSet and OFCountedSet are now class + clusters. + + Serialization and deserialization of objects into/from XML and JSON. + + New class OFIntrospection for introspecting classes. + + New class OFProcess for working with and controlling child processes. + * Lots of OFXMLParser and OFXMLElement improvements. + + OFHTTPRequests can have a delegate now for status updates and processing + data as soon as it arrives. + + There are several backends for OFStreamObserver now, including kqueue, poll + and select. + + SOCKS5 support for OFTCPSockets (client only). + * Several API changes. ObjFW 0.5.3 -> ObjFW 0.5.4, 30.08.2011 * The blocks runtime is now working correctly. * Documentation fixes. * -framework works with objfw-compile now. Index: Info.plist ================================================================== --- Info.plist +++ Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType FMWK CFBundleSignature OBJFW CFBundleVersion - 0.6-dev + 0.6 CFBundleShortVersionString - 0.6-dev + 0.6 Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -1,6 +1,6 @@ -AC_INIT(ObjFW, 0.6-dev, js@webkeks.org) +AC_INIT(ObjFW, 0.6, js@webkeks.org) AC_CONFIG_SRCDIR(src) AS_IF([test x"$host" = x"psp"], [ OBJCFLAGS="-G0 $OBJCFLAGS" LIBS="$LIBS -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc" Index: src/OFApplication.h ================================================================== --- src/OFApplication.h +++ src/OFApplication.h @@ -59,12 +59,15 @@ * signal-safe operations like setting a variable or calling a * signal-safe function! */ - (void)applicationDidReceiveSIGINT; +#ifndef _WIN32 /** * \brief A method which is called when the application received a SIGHUP. + * + * This signal is not available on Windows. * * \warning You are not allowed to send any messages inside this method, as * message dispatching is not signal-safe! You are only allowed to do * signal-safe operations like setting a variable or calling a * signal-safe function! @@ -71,10 +74,12 @@ */ - (void)applicationDidReceiveSIGHUP; /** * \brief A method which is called when the application received a SIGUSR1. + * + * This signal is not available on Windows. * * \warning You are not allowed to send any messages inside this method, as * message dispatching is not signal-safe! You are only allowed to do * signal-safe operations like setting a variable or calling a * signal-safe function! @@ -81,17 +86,20 @@ */ - (void)applicationDidReceiveSIGUSR1; /** * \brief A method which is called when the application received a SIGUSR2. + * + * This signal is not available on Windows. * * \warning You are not allowed to send any messages inside this method, as * message dispatching is not signal-safe! You are only allowed to do * signal-safe operations like setting a variable or calling a * signal-safe function! */ - (void)applicationDidReceiveSIGUSR2; +#endif @end /** * \brief Represents the application as an object. */ @@ -103,13 +111,15 @@ int *argc; char ***argv; @public id delegate; void (*SIGINTHandler)(id, SEL); +#ifndef _WIN32 void (*SIGHUPHandler)(id, SEL); void (*SIGUSR1Handler)(id, SEL); void (*SIGUSR2Handler)(id, SEL); +#endif } #ifdef OF_HAVE_PROPERTIES @property (readonly, assign) OFString *programName; @property (readonly, assign) OFArray *arguments; Index: src/OFApplication.m ================================================================== --- src/OFApplication.m +++ src/OFApplication.m @@ -16,12 +16,15 @@ #include "config.h" #define OF_APPLICATION_M +#include #include #include + +#include #import "OFApplication.h" #import "OFString.h" #import "OFArray.h" #import "OFDictionary.h" @@ -53,13 +56,15 @@ { \ app->sig##Handler(app->delegate, \ @selector(applicationDidReceive##sig)); \ } SIGNAL_HANDLER(SIGINT) +#ifndef _WIN32 SIGNAL_HANDLER(SIGHUP) SIGNAL_HANDLER(SIGUSR1) SIGNAL_HANDLER(SIGUSR2) +#endif #undef SIGNAL_HANDLER int of_application_main(int *argc, char **argv[], Class cls) { @@ -258,13 +263,15 @@ @selector(applicationDidReceive##sig)]) \ signal(sig, handle##sig); \ else \ signal(sig, SIG_DFL); REGISTER_SIGNAL(SIGINT) +#ifndef _WIN32 REGISTER_SIGNAL(SIGHUP) REGISTER_SIGNAL(SIGUSR1) REGISTER_SIGNAL(SIGUSR2) +#endif #undef REGISTER_SIGNAL } - (void)run { Index: src/OFArray.h ================================================================== --- src/OFArray.h +++ src/OFArray.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #import "OFObject.h" #import "OFCollection.h" Index: src/OFDictionary.h ================================================================== --- src/OFDictionary.h +++ src/OFDictionary.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #import "OFObject.h" #import "OFCollection.h" Index: src/OFFile.h ================================================================== --- src/OFFile.h +++ src/OFFile.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #import "OFSeekableStream.h" Index: src/OFMutableString.h ================================================================== --- src/OFMutableString.h +++ src/OFMutableString.h @@ -12,13 +12,10 @@ * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ -#include -#include - #import "OFString.h" /** * \brief A class for storing and modifying strings. */ Index: src/OFMutableString.m ================================================================== --- src/OFMutableString.m +++ src/OFMutableString.m @@ -17,10 +17,12 @@ #include "config.h" #include #include #include + +#include #import "OFString.h" #import "OFMutableString_UTF8.h" #import "OFAutoreleasePool.h" Index: src/OFNumber.h ================================================================== --- src/OFNumber.h +++ src/OFNumber.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #import "OFObject.h" #import "OFSerialization.h" Index: src/OFProcess.h ================================================================== --- src/OFProcess.h +++ src/OFProcess.h @@ -12,13 +12,18 @@ * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ -#ifndef _WIN32 -# include +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS #endif + +#include #import "OFStream.h" #ifdef _WIN32 # include Index: src/OFSeekableStream.h ================================================================== --- src/OFSeekableStream.h +++ src/OFSeekableStream.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #import "OFStream.h" Index: src/OFSet.h ================================================================== --- src/OFSet.h +++ src/OFSet.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #import "OFObject.h" #import "OFCollection.h" Index: src/OFStream.h ================================================================== --- src/OFStream.h +++ src/OFStream.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #import "OFObject.h" #import "OFString.h" Index: src/OFStreamObserver_select.h ================================================================== --- src/OFStreamObserver_select.h +++ src/OFStreamObserver_select.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #ifdef OF_HAVE_SYS_SELECT_H # include #endif Index: src/OFString+JSONValue.m ================================================================== --- src/OFString+JSONValue.m +++ src/OFString+JSONValue.m @@ -94,11 +94,11 @@ skipWhitespaces(pointer, stop); skipComment(pointer, stop); } } -static OF_INLINE uint16_t +static inline uint16_t parseUnicodeEscape(const char *pointer, const char *stop) { uint16_t ret = 0; char i; @@ -123,11 +123,11 @@ } return ret; } -static OF_INLINE OFString* +static inline OFString* parseString(const char *restrict *pointer, const char *stop) { char *buffer; size_t i = 0; @@ -257,11 +257,11 @@ free(buffer); return nil; } -static OF_INLINE OFMutableArray* +static inline OFMutableArray* parseArray(const char *restrict *pointer, const char *stop) { OFMutableArray *array = [OFMutableArray array]; if (++(*pointer) >= stop) @@ -299,11 +299,11 @@ (*pointer)++; return array; } -static OF_INLINE OFMutableDictionary* +static inline OFMutableDictionary* parseDictionary(const char *restrict *pointer, const char *stop) { OFMutableDictionary *dictionary = [OFMutableDictionary dictionary]; if (++(*pointer) >= stop) @@ -351,11 +351,11 @@ (*pointer)++; return dictionary; } -static OF_INLINE OFNumber* +static inline OFNumber* parseNumber(const char *restrict *pointer, const char *stop) { BOOL hasDecimal = NO; size_t i; OFString *string; Index: src/OFString.h ================================================================== --- src/OFString.h +++ src/OFString.h @@ -12,11 +12,17 @@ * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ -#include +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif + #include #include #import "OFObject.h" #import "OFSerialization.h" Index: src/OFString_UTF8.m ================================================================== --- src/OFString_UTF8.m +++ src/OFString_UTF8.m @@ -18,10 +18,12 @@ #include #include #include #include + +#include #import "OFString_UTF8.h" #import "OFMutableString_UTF8.h" #import "OFArray.h" #import "OFAutoreleasePool.h" Index: src/OFTCPSocket.h ================================================================== --- src/OFTCPSocket.h +++ src/OFTCPSocket.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #ifndef _WIN32 # include # include # include Index: src/asprintf.h ================================================================== --- src/asprintf.h +++ src/asprintf.h @@ -13,10 +13,17 @@ * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "objfw-defs.h" + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #ifndef OF_HAVE_ASPRINTF # include # ifdef __cplusplus Index: src/base64.h ================================================================== --- src/base64.h +++ src/base64.h @@ -13,10 +13,17 @@ * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "objfw-defs.h" + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #ifdef OF_OBJFW_RUNTIME # import #else # import Index: src/macros.h ================================================================== --- src/macros.h +++ src/macros.h @@ -14,17 +14,10 @@ * file. */ #import "OFObject.h" -#ifndef __STDC_LIMIT_MACROS -# define __STDC_LIMIT_MACROS -#endif -#ifndef __STDC_CONSTANT_MACROS -# define __STDC_CONSTANT_MACROS -#endif - #include #include #if defined(OF_APPLE_RUNTIME) || defined(OF_GNU_RUNTIME) # import Index: src/of_asprintf.h ================================================================== --- src/of_asprintf.h +++ src/of_asprintf.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #import "macros.h" Index: src/of_strptime.h ================================================================== --- src/of_strptime.h +++ src/of_strptime.h @@ -11,10 +11,17 @@ * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif #include #ifdef __cplusplus extern "C" { Index: utils/objfw-config.in ================================================================== --- utils/objfw-config.in +++ utils/objfw-config.in @@ -35,11 +35,11 @@ LIBS="-L${libdir} -lobjfw @LIBS@" PLUGIN_CFLAGS="@PLUGIN_CFLAGS@" PLUGIN_LDFLAGS="@PLUGIN_LDFLAGS@" PLUGIN_SUFFIX="@PLUGIN_SUFFIX@" PROG_SUFFIX="@EXEEXT@" -VERSION="0.6-dev" +VERSION="0.6" show_help() { cat <<__EOF__ objfw-config: Available arguments are: