From 74aba98c7ff47291c8e910e876d1db911f8ccf0f Mon Sep 17 00:00:00 2001
From: Gregory John Casamento Version: $Revision: 1.42 $ Date: $Date: 2015/09/15 14:18:06 $ Version: $Revision$ Date: $Date$ Copyright: (C) 2005 Free Software Foundation, Inc.Authors
Base Additions
nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + This function (macro) is a GNUstep extension. +
+
+ _(@"My string to translate")
+
+ is basically equivalent to +
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ This function (macro) is a GNUstep extension. +
+
+ __(@"My string to translate")
+
+ is exactly the same as +
+
+
+ GSLocalizedStaticString(@"My
+ string to translate", @"")
+
+
+ It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings: +
+
+
+ NSString *message = __(@"Hello there");... more
+ code... NSLog (_(messages));
+
+
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using
+ GSLocalizedStaticString
instead when
+ you need a comment.
+
+ This function (macro) is a GNUstep extensions, and it + is used to localize static strings. Here is an example + of a static string: +
+
+
+ NSString *message = @"Hi there";... some code...
+ NSLog (message);
+
+
+ This string can not be localized using the standard + openstep functions/macros. By using this gnustep + extension, you can localize it as follows: +
+
+
+ NSString *message = GSLocalizedStaticString
+ (@"Hi there", @"Greeting");... some code... NSLog
+ (NSLocalizedString (message, @""));
+
+
+ When the tools generate the
+ Localizable.strings
file from the
+ source code, they will ignore the
+ NSLocalizedString
call while they will
+ extract the string (and the comment) to localize
+ from the GSLocalizedStaticString
call.
+
+ When the code is compiled, instead, the
+ GSLocalizedStaticString
call is ignored
+ (discarded, it is a macro which simply expands
+ to key
), while the
+ NSLocalizedString
will actually look up
+ the string for translation in the
+ Localizable.strings
file.
+
+ Please note that there is currently no + macro/function to localize static strings + using different tables. If you need that + functionality, you have either to prepare + the localization tables by hand, or to rewrite your + code in such a way as not to use static strings. +
+ To be used inside a method for making sure that a range + does not specify anything outside the size of an + array/string. Raises exception if range extends + beyond [0,size]. Size must be an + unsigned integer (NSUInteger). +nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object
+ later. It also makes sure to set the variable to
+ nil
before releasing the
+ object - to avoid side-effects of the
+ release trying to reference the object
+ being released through the variable.
+ nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + This function (macro) is a GNUstep extension. +
+
+ _(@"My string to translate")
+
+ is basically equivalent to +
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ This function (macro) is a GNUstep extension. +
+
+ __(@"My string to translate")
+
+ is exactly the same as +
+
+
+ GSLocalizedStaticString(@"My
+ string to translate", @"")
+
+
+ It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings: +
+
+
+ NSString *message = __(@"Hello there");... more
+ code... NSLog (_(messages));
+
+
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using
+ GSLocalizedStaticString
instead when
+ you need a comment.
+
+ This function (macro) is a GNUstep extensions, and it + is used to localize static strings. Here is an example + of a static string: +
+
+
+ NSString *message = @"Hi there";... some code...
+ NSLog (message);
+
+
+ This string can not be localized using the standard + openstep functions/macros. By using this gnustep + extension, you can localize it as follows: +
+
+
+ NSString *message = GSLocalizedStaticString
+ (@"Hi there", @"Greeting");... some code... NSLog
+ (NSLocalizedString (message, @""));
+
+
+ When the tools generate the
+ Localizable.strings
file from the
+ source code, they will ignore the
+ NSLocalizedString
call while they will
+ extract the string (and the comment) to
+ localize from the
+ GSLocalizedStaticString
call.
+
+ When the code is compiled, instead, the
+ GSLocalizedStaticString
call is ignored
+ (discarded, it is a macro which simply expands
+ to key
), while the
+ NSLocalizedString
will actually look up
+ the string for translation in the
+ Localizable.strings
file.
+
+ Please note that there is currently no + macro/function to localize static strings + using different tables. If you need that + functionality, you have either to prepare + the localization tables by hand, or to rewrite your + code in such a way as not to use static strings. +
+nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + This function (macro) is a GNUstep extension. +
+
+ _(@"My string to translate")
+
+ is basically equivalent to +
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
+nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + This function (macro) is a GNUstep extension. +
+
+ _(@"My string to translate")
+
+ is basically equivalent to +
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ This function (macro) is a GNUstep extension. +
+
+ __(@"My string to translate")
+
+ is exactly the same as +
+
+
+ GSLocalizedStaticString(@"My
+ string to translate", @"")
+
+
+ It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings: +
+
+
+ NSString *message = __(@"Hello there");... more
+ code... NSLog (_(messages));
+
+
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using
+ GSLocalizedStaticString
instead when
+ you need a comment.
+
+ This function (macro) is a GNUstep extensions, and it + is used to localize static strings. Here is an example + of a static string: +
+
+
+ NSString *message = @"Hi there";... some code...
+ NSLog (message);
+
+
+ This string can not be localized using the standard + openstep functions/macros. By using this gnustep + extension, you can localize it as follows: +
+
+
+ NSString *message = GSLocalizedStaticString
+ (@"Hi there", @"Greeting");... some code... NSLog
+ (NSLocalizedString (message, @""));
+
+
+ When the tools generate the
+ Localizable.strings
file from the
+ source code, they will ignore the
+ NSLocalizedString
call while they will
+ extract the string (and the comment) to localize
+ from the GSLocalizedStaticString
call.
+
+ When the code is compiled, instead, the
+ GSLocalizedStaticString
call is ignored
+ (discarded, it is a macro which simply expands
+ to key
), while the
+ NSLocalizedString
will actually look up
+ the string for translation in the
+ Localizable.strings
file.
+
+ Please note that there is currently no + macro/function to localize static strings + using different tables. If you need that + functionality, you have either to prepare + the localization tables by hand, or to rewrite your + code in such a way as not to use static strings. +
+ To be used inside a method for making sure that a range + does not specify anything outside the size of an + array/string. Raises exception if range extends + beyond [0,size]. Size must be an + unsigned integer (NSUInteger). +nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + This function (macro) is a GNUstep extension. +
+
+ _(@"My string to translate")
+
+ is basically equivalent to +
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
+nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + This function (macro) is a GNUstep extension. +
+
+ _(@"My string to translate")
+
+ is basically equivalent to +
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ This function (macro) is a GNUstep extension. +
+
+ __(@"My string to translate")
+
+ is exactly the same as +
+
+
+ GSLocalizedStaticString(@"My
+ string to translate", @"")
+
+
+ It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings: +
+
+
+ NSString *message = __(@"Hello there");... more
+ code... NSLog (_(messages));
+
+
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using
+ GSLocalizedStaticString
instead when
+ you need a comment.
+
+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version + < REM, where ADD is the + version number at which a feature guarded by the + macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
+
where ADD
is the
+ version number of the next minor release after the
+ most recent one.
As a general principle you
+ should not change the API with changing
+ subminor version numbers... as that tends to
+ confuse people (though Apple has sometimes done
+ it).
+
+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version + < REM, where ADD is the + version number at which a feature guarded by the + macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
+
where ADD
is the
+ version number of the next minor release after the
+ most recent one.
As a general principle you
+ should not change the API with changing
+ subminor version numbers... as that tends to
+ confuse people (though Apple has sometimes done
+ it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD + <= version < REM, where + ADD is the version number at which a + feature guarded by the macro was introduced and + REM is the version number at which it was + removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
++ Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , +
++ Also see + + OS_API_VERSION + +
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + , + + GS_API_LATEST + + , + + GS_API_OSSPEC + + , + + GS_API_OPENSTEP + + , + + GS_API_MACOSX + +
++ Also see + + GS_API_VERSION + +
++ For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+ A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.
+ This is a macro designed to minimise the use of memory
+ allocation and deallocation when you need to
+ work with a vararg list of objects.
The objects
+ are unpacked from the vararg list into two 'C' arrays
+ and then a code fragment you specify is able
+ to make use of them before that 'C' array is destroyed.
+
+ The firstObject argument is the name of the + formal parameter in your method or function which + precedes the ',...' denoting variable args. +
+
+ The code argument is a piece of objective-c
+ code to be executed to make use of the
+ objects stored in the 'C' arrays.
When this
+ code is called the
+ unsigned integer '__count' will
+ contain the number of objects unpacked, the pointer
+ '__objects' will point to the first object in
+ each pair, and the pointer '__pairs' will point to an
+ array containing the second halves of the pairs of
+ objects whose first halves are in '__objects'.
+
This lets you pack a list of the form 'key,
+ value, key, value,...' into an array of keys and an
+ array of values.
+
+ This is a macro designed to minimise the use of memory
+ allocation and deallocation when you need to
+ work with a vararg list of objects.
The objects
+ are unpacked from the vararg list into a 'C' array and
+ then a code fragment you specify is able to
+ make use of them before that 'C' array is destroyed.
+
+ The firstObject argument is the name of the + formal parameter in your method or function which + precedes the ',...' denoting variable args. +
+
+ The code argument is a piece of objective-c
+ code to be executed to make use of the
+ objects stored in the 'C' array.
When this
+ code is called the
+ unsigned integer '__count' will
+ contain the number of objects unpacked, and the
+ pointer '__objects' will point to the unpacked
+ objects, ie. firstObject followed by
+ the vararg arguments up to (but not including) the
+ first nil
.
+
+ This is a macro designed to minimise the use of memory
+ allocation and deallocation when you need to
+ work with a vararg list of objects.
The objects
+ are unpacked from the vararg list into two 'C' arrays
+ and then a code fragment you specify is able
+ to make use of them before that 'C' array is destroyed.
+
+ The firstObject argument is the name of the + formal parameter in your method or function which + precedes the ',...' denoting variable args. +
+
+ The code argument is a piece of objective-c
+ code to be executed to make use of the
+ objects stored in the 'C' arrays.
When this
+ code is called the
+ unsigned integer '__count' will
+ contain the number of objects unpacked, the pointer
+ '__objects' will point to the first object in
+ each pair, and the pointer '__pairs' will point to an
+ array containing the second halves of the pairs of
+ objects whose first halves are in '__objects'.
+
This lets you pack a list of the form 'key,
+ value, key, value,...' into an array of keys and an
+ array of values.
+
+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSWarnLog() + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ To embed debug logging in your code you use the + + NSWarnLog() + + macro. +
++ As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + , and + + NSWarnMLog() + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is like + + NSWarnLog() + + but includes the name and location of the + function in which the macro is used as part of + the log output.+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSWarnLog() + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ To embed debug logging in your code you use the + + NSWarnLog() + + macro. +
++ As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + , and + + NSWarnMLog() + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is like + + NSWarnLog() + + but includes the name and location of the + function in which the macro is used as part of + the log output.+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
++ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSWarnLog() + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ To embed debug logging in your code you use the + + NSWarnLog() + + macro. +
++ As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + , and + + NSWarnMLog() + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is like + + NSWarnLog() + + but includes the name and location of the + function in which the macro is used as part of + the log output.+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSWarnLog() + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ To embed debug logging in your code you use the + + NSWarnLog() + + macro. +
++ As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + , and + + NSWarnMLog() + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is like + + NSWarnLog() + + but includes the name and location of the + function in which the macro is used as part of + the log output.+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSWarnLog() + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ To embed debug logging in your code you use the + + NSWarnLog() + + macro. +
++ As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + , and + + NSWarnMLog() + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
++ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSWarnLog() + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ To embed debug logging in your code you use the + + NSWarnLog() + + macro. +
++ As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + , and + + NSWarnMLog() + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is like + + NSWarnLog() + + but includes the name and location of the + function in which the macro is used as part of + the log output.+ + NSDebugLLog() + + is the basic debug logging macro used to display log + messages using + + NSLog() + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ To embed debug logging in your code you use the + + NSDebugLLog() + + or + + NSDebugLog() + + macro. + + NSDebugLog() + + is just + + NSDebugLLog() + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + , + + NSDebugFLLog() + + , + + NSDebugMLog() + + and + + NSDebugMLLog() + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is a shorthand for + + NSDebugLLog() + + using the default debug key... 'dflt'+ + NSWarnLog() + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ To embed debug logging in your code you use the + + NSWarnLog() + + macro. +
++ As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + , and + + NSWarnMLog() + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+ This macro is like + + NSWarnLog() + + but includes the name and location of the + function in which the macro is used as part of + the log output.nil
+ . CLASSNAME must be either NSLock,
+ NSRecursiveLock or one of their subclasses.
+ See
+ [NSLock(GNUstepBase) +newLockAt:] for details. This macro is intended for code that cannot insure that a lock can be initialized in thread safe manner otherwise.
++ A Behavior can be seen as a "Protocol with an + implementation" or a "Class without any + instance variables". A key feature of behaviors is + that they give a degree of multiple inheritance. +
++ Behavior methods, when added to a class, override + the class's superclass methods, but not the class's + methods. +
++ Whan a behavior class is added to a + receiver class, not only are the methods + defined in the behavior class added, but + the methods from the behavior's class hierarchy are + also added (unless already present). +
++ It's not the case that a class adding behaviors from + another class must have "no instance vars". The + receiver class just has to have the same + layout as the behavior class (optionally + with some additional ivars after those of the + behavior class). +
++ This function provides Behaviors without adding any + new syntax to the Objective C language. Simply define a + class with the methods you want to add, then call + this function with that class as the + behavior argument. +
++ This function should be called in the + + +initialize + + method of the receiver. +
++ If you add several behaviors to a class, be aware that + the order of the additions is significant. +
++ An Override can be seen as a "category implemented as a + separate class and manually added to the + receiver class under program control, + rather than automatically added by the + compiler/runtime. +
++ Override methods, when added to a + receiver class, replace the class's + class's methods of the same name (or are added if + the class did not define methods with that name). +
++ It's not the case that a class adding overrides from + another class must have "no instance vars". The + receiver class just has to have the same + layout as the override class (optionally + with some additional ivars after those of the + override class). +
++ This function provides overrides without adding any + new syntax to the Objective C language. Simply define a + class with the methods you want to add, then call + this function with that class as the + override argument. +
++ This function should usually be called in the + + +initialize + + method of the receiver. +
++ If you add several overrides to a class, be aware that + the order of the additions is significant. +
+YES
), off (NO
) or
+ test (-1) behavior debugging.
+ YES
if the
+ variable was found, NO
otherwise. If it
+ returns YES
, then the values pointed to
+ by type, size, and offset
+ will be set (except where they are null pointers).
+ nil
.
+ + Create a Class structure for use by + the ObjectiveC runtime and return an NSValue object + pointing to it. The class will not be added to the + runtime (you must do that later using the + + GSObjCAddClasses() + + function). +
++ The iVars dictionary lists the instance + variable names and their types. +
+nil
if obj is nil
+ .
+ nil
if obj is
+ nil
.
+ + Prints a message to fptr using the + format string provided and any additional + arguments. The format string is + interpreted as by the NSString formatted + initialisers, and understands the '%@' syntax + for printing an object. +
++ The data is written to the file pointer in the default + CString encoding if possible, as a UTF8 string + otherwise. +
++ This function is recommended for printing general log + messages. For debug messages use + + NSDebugLog() + + and friends. For error logging use + + NSLog() + + , and for warnings you might consider + + NSWarnLog() + + . +
+nil
.
+ YES
, otherwise returns
+ NO
.
+ nil
if nothing is found. + The dst argument is a pointer to a pointer + to a buffer in which the converted data is to be stored. + If it is a null pointer, this function discards + converted data, and is used only to determine the + length of the converted data. If the zone + argument is non-nul, the function is free to + allocate a larger buffer if necessary, and store + this new buffer in the dst argument. It + will *NOT* deallocate the original buffer! +
++ The size argument is a pointer to the + initial size of the destination buffer. + If the function changes the buffer size, this + value will be altered to the new size. + This is measured in bytes. +
++ The src argument is a pointer to the 16-bit + unicode string which is to be converted to 8-bit + data. +
++ The slen argument is the length of the + 16-bit unicode string which is to be converted to + 8-bit data. This is measured in 16-bit characters, + not bytes. +
++ The enc argument specifies the encoding type + of the 8-bit byte sequence which is to be produced from + the 16-bit unicode. +
+
+ The zone argument specifies a memory
+ zone in which the function may allocate a
+ buffer to return data in. If this is nul, the
+ function will fail if the originally supplied
+ buffer is not big enough (unless dst is a
+ null pointer... indicating that converted data is to
+ be discarded).
If the library is built for
+ garbage collecting, the zone argument is
+ used only as a marker to say whether the function may
+ allocate memory (zone is non-null) or
+ not (zone is null).
+
+ On return, the function result is a flag indicating
+ success (YES
) or failure (
+ NO
), and on success, the value stored
+ in size is the number of bytes in the
+ converted data. The converted data itself is
+ stored in the location given by dst.
+
NB. If the value stored in dst has
+ been changed, it is a pointer to allocated memory
+ which the caller is responsible for freeing, and the
+ caller is still responsible for freeing the
+ original buffer.
+
+ The dst argument is a pointer to a pointer + to a buffer in which the converted string is to be + stored. If it is a null pointer, this function + discards converted data, and is used only to + determine the length of the converted string. If + the zone argument is non-nul, the function + is free to allocate a larger buffer if necessary, and + store this new buffer in the dst argument. + It will *NOT* deallocate the original buffer! +
++ The size argument is a pointer to the + initial size of the destination buffer. + If the function changes the buffer size, this + value will be altered to the new size. + This is measured in 16-bit unicode characters, not + bytes. +
++ The src argument is a pointer to the byte + sequence which is to be converted to 16-bit + unicode. +
++ The slen argument is the length of the byte + sequence which is to be converted to 16-bit + unicode. This is measured in bytes. +
++ The enc argument specifies the encoding type + of the 8-bit byte sequence which is to be converted to + 16-bit unicode. +
+
+ The zone argument specifies a memory
+ zone in which the function may allocate a
+ buffer to return data in. If this is nul, the
+ function will fail if the originally supplied
+ buffer is not big enough (unless dst is a
+ null pointer... indicating that converted data is to
+ be discarded).
If the library is built for
+ garbage collecting, the zone argument is
+ used only as a marker to say whether the function may
+ allocate memory (zone is non-null) or
+ not (zone is null).
+
+ On return, the function result is a flag indicating
+ success (YES
) or failure (
+ NO
), and on success, the value stored
+ in size is the number of characters in the
+ converted string. The converted string itself is
+ stored in the location given by dst.
+
NB. If the value stored in dst has
+ been changed, it is a pointer to allocated memory
+ which the caller is responsible for freeing, and the
+ caller is still responsible for freeing the
+ original buffer.
+
nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
pointer for tidiness - we can't
- accidentally use a DESTROYED object
- later. It also makes sure to set the variable to
- nil
before releasing the
- object - to avoid side-effects of the
- release trying to reference the object
- being released through the variable.
-
- nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. - This function (macro) is a GNUstep extensions, and it - is used to localize static strings. Here is an example - of a static string: + This function (macro) is a GNUstep extension.
@@ -383,10 +559,7 @@
-
- NSString *message = @"Hi there";... some code...
- NSLog (message);
-
+ _(@"My string to translate")
@@ -394,9 +567,7 @@
- This string can not be localized using the standard - openstep functions/macros. By using this gnustep - extension, you can localize it as follows: + is basically equivalent to
@@ -405,9 +576,8 @@
- NSString *message = GSLocalizedStaticString
- (@"Hi there", @"Greeting");... some code... NSLog
- (NSLocalizedString (message, @""));
+ NSLocalizedString(@"My string to
+ translate", @"")
@@ -416,13 +586,15 @@
- When the tools generate the
- Localizable.strings
file from the
- source code, they will ignore the
- NSLocalizedString
call while they will
- extract the string (and the comment) to
- localize from the
- GSLocalizedStaticString
call.
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
+
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
@@ -430,13 +602,16 @@
- When the code is compiled, instead, the
- GSLocalizedStaticString
call is ignored
- (discarded, it is a macro which simply expands
- to key
), while the
- NSLocalizedString
will actually look up
- the string for translation in the
- Localizable.strings
file.
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
@@ -444,164 +619,45 @@
- Please note that there is currently no - macro/function to localize static strings - using different tables. If you need that - functionality, you have either to prepare - the localization tables by hand, or to rewrite your - code in such a way as not to use static strings. + Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information.
- -
- method. - -
- Basic retain operation... calls - - [NSObject -retain] +
+
-
Deprecated... pointless on modern processors.
- Simply call the
-
- -retain
+ __(@"My string to translate")
+
+ +
+- method. - -
- Tested autorelease - only invoke the objective-c
- method if the receiver is not nil
.
- Deprecated... pointless on modern processors.
- Simply call the
-
- -autorelease
+
- method. - -
nil
. nil
. - - This function (macro) is a GNUstep extension. -
-- - -
-
-
- _(@"My string to translate")
+
+ GSLocalizedStaticString(@"My
+ string to translate", @"")
+
@@ -609,7 +665,9 @@
- is basically equivalent to + It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings:
@@ -618,8 +676,8 @@
- NSLocalizedString(@"My string to
- translate", @"")
+ NSString *message = __(@"Hello there");... more
+ code... NSLog (_(messages));
@@ -628,61 +686,21 @@
- It is useful when you need to translate an application
- very quickly, as you just need to enclose all strings
- inside
- _()
-
.
But please note that when you use this macro, you are
not taking advantage of comments for the translator, so
- consider using NSLocalizedString
- instead when you need a comment.
-
- - -
-
-
- You may define GS_LOCALISATION_BUNDLE_ID to the bundle
- identifier of the bundle which is to provide the
- localisation information.
This can be
- used when compiling a single file by specifying
- something like '-D
- GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
- in your make file.
If this is not defined, the
- localisation is provided by your application's
- main bundle exactly like the NSLocalizedString
- function.
-
- - -
-
-
- Alternatively you may define
- GS_LOCALISATION_BUNDLE to be the
- bundle to be used to prvide the localisation
- information.
+ consider using
+ GSLocalizedStaticString
instead when
+ you need a comment.
- -
- This function (macro) is a GNUstep extension. + This function (macro) is a GNUstep extensions, and it + is used to localize static strings. Here is an example + of a static string:
@@ -690,7 +708,10 @@
- __(@"My string to translate")
+
+ NSString *message = @"Hi there";... some code...
+ NSLog (message);
+
@@ -698,7 +719,9 @@
- is exactly the same as + This string can not be localized using the standard + openstep functions/macros. By using this gnustep + extension, you can localize it as follows:
@@ -707,8 +730,9 @@
- GSLocalizedStaticString(@"My
- string to translate", @"")
+ NSString *message = GSLocalizedStaticString
+ (@"Hi there", @"Greeting");... some code... NSLog
+ (NSLocalizedString (message, @""));
@@ -717,9 +741,12 @@
- It is useful when you need to translate an application
- very quickly. You would use it as follows for static
- strings:
+ When the tools generate the
+ Localizable.strings
file from the
+ source code, they will ignore the
+ NSLocalizedString
call while they will
+ extract the string (and the comment) to localize
+ from the GSLocalizedStaticString
call.
@@ -727,10 +754,13 @@
-
- NSString *message = __(@"Hello there");... more
- code... NSLog (_(messages));
-
+ When the code is compiled, instead, the
+ GSLocalizedStaticString
call is ignored
+ (discarded, it is a macro which simply expands
+ to key
), while the
+ NSLocalizedString
will actually look up
+ the string for translation in the
+ Localizable.strings
file.
@@ -738,162 +768,396 @@
- But please note that when you use this macro, you are
- not taking advantage of comments for the translator, so
- consider using
- GSLocalizedStaticString
instead when
- you need a comment.
+ Please note that there is currently no
+ macro/function to localize static strings
+ using different tables. If you need that
+ functionality, you have either to prepare
+ the localization tables by hand, or to rewrite your
+ code in such a way as not to use static strings.
+ To be used inside a method for making sure that a range
+ does not specify anything outside the size of an
+ array/string. Raises exception if range extends
+ beyond [0,size]. Size must be an
+ unsigned integer (NSUInteger).
+
Checks whether INDEX is strictly
+ less than OVER (within C array space).
+ INDEX and OVER must be
+ unsigned integers (NSUInteger).
-
-nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. -
-nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object
+ later. It also makes sure to set the variable to
+ nil
before releasing the
+ object - to avoid side-effects of the
+ release trying to reference the object
+ being released through the variable.
nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + + This function (macro) is a GNUstep extension. +
+
- Macro to check a defined GNUstep version number
- (GS_GNUSTEP_V) against the supplied
- arguments. Returns true if no GNUstep version is
- specified, or if ADD <= version
- < REM, where ADD is the
- version number at which a feature guarded by the
- macro was introduced and REM is the
- version number at which it was removed.
+ _(@"My string to translate")
@@ -901,23 +1165,34 @@
- The version number arguments are six digit integers - where the first two digits are the major version - number, the second two are the minor version number - and the last two are the subminor number (all left - padded with a zero where necessary). However, for - convenience you can also use the predefined - constants... - - GS_API_NONE - + is basically equivalent to +
++ + +
+
- ,
-
- GS_API_LATEST
-
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ + +
+
- ,
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
+
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
@@ -925,11 +1200,51 @@
- Also see
-
- OS_API_VERSION
-
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ + +
++ + Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ + +
++ This function (macro) is a GNUstep extension. +
++ + +
+
+
+ __(@"My string to translate")
+
+ + +
++ + is exactly the same as
@@ -937,44 +1252,11309 @@
- NB. If you are changing the API (eg adding a new
- feature) you need to control the visibility io the
- new header file code using
- #if GS_API_VERSION(ADD,GS_API_LATEST)
+ GSLocalizedStaticString(@"My
+ string to translate", @"")
-
where ADD
is the
- version number of the next minor release after the
- most recent one.
As a general principle you
- should not change the API with changing
- subminor version numbers... as that tends to
- confuse people (though Apple has sometimes done
- it).
- -
+ + It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings: +
+
- Macro to check a defined OpenStep/OPENSTEP/MacOS-X
- version against the supplied arguments. Returns
- true if no version is specified, or if ADD
- <= version < REM, where
- ADD is the version number at which a
- feature guarded by the macro was introduced and
- REM is the version number at which it was
- removed.
+
+ NSString *message = __(@"Hello there");... more
+ code... NSLog (_(messages));
+
+
+ + +
+
+
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using
+ GSLocalizedStaticString
instead when
+ you need a comment.
+
+ + +
++ + This function (macro) is a GNUstep extensions, and it + is used to localize static strings. Here is an example + of a static string: +
++ + +
+
+
+
+ NSString *message = @"Hi there";... some code...
+ NSLog (message);
+
+
+ + +
++ + This string can not be localized using the standard + openstep functions/macros. By using this gnustep + extension, you can localize it as follows: +
++ + +
+
+
+
+ NSString *message = GSLocalizedStaticString
+ (@"Hi there", @"Greeting");... some code... NSLog
+ (NSLocalizedString (message, @""));
+
+
+ + +
+
+
+ When the tools generate the
+ Localizable.strings
file from the
+ source code, they will ignore the
+ NSLocalizedString
call while they will
+ extract the string (and the comment) to
+ localize from the
+ GSLocalizedStaticString
call.
+
+ + +
+
+
+ When the code is compiled, instead, the
+ GSLocalizedStaticString
call is ignored
+ (discarded, it is a macro which simply expands
+ to key
), while the
+ NSLocalizedString
will actually look up
+ the string for translation in the
+ Localizable.strings
file.
+
+ + +
++ + Please note that there is currently no + macro/function to localize static strings + using different tables. If you need that + functionality, you have either to prepare + the localization tables by hand, or to rewrite your + code in such a way as not to use static strings. +
++ + +
nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + + This function (macro) is a GNUstep extension. +
++ + +
+
+
+ _(@"My string to translate")
+
+ + +
++ + is basically equivalent to +
++ + +
+
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ + +
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
+
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ + +
+
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ + +
++ + Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ + +
nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + + This function (macro) is a GNUstep extension. +
++ + +
+
+
+ _(@"My string to translate")
+
+ + +
++ + is basically equivalent to +
++ + +
+
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ + +
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
+
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ + +
+
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ + +
++ + Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ + +
++ + This function (macro) is a GNUstep extension. +
++ + +
+
+
+ __(@"My string to translate")
+
+ + +
++ + is exactly the same as +
++ + +
+
+
+
+ GSLocalizedStaticString(@"My
+ string to translate", @"")
+
+
+ + +
++ + It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings: +
++ + +
+
+
+
+ NSString *message = __(@"Hello there");... more
+ code... NSLog (_(messages));
+
+
+ + +
+
+
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using
+ GSLocalizedStaticString
instead when
+ you need a comment.
+
+ + +
++ + This function (macro) is a GNUstep extensions, and it + is used to localize static strings. Here is an example + of a static string: +
++ + +
+
+
+
+ NSString *message = @"Hi there";... some code...
+ NSLog (message);
+
+
+ + +
++ + This string can not be localized using the standard + openstep functions/macros. By using this gnustep + extension, you can localize it as follows: +
++ + +
+
+
+
+ NSString *message = GSLocalizedStaticString
+ (@"Hi there", @"Greeting");... some code... NSLog
+ (NSLocalizedString (message, @""));
+
+
+ + +
+
+
+ When the tools generate the
+ Localizable.strings
file from the
+ source code, they will ignore the
+ NSLocalizedString
call while they will
+ extract the string (and the comment) to localize
+ from the GSLocalizedStaticString
call.
+
+ + +
+
+
+ When the code is compiled, instead, the
+ GSLocalizedStaticString
call is ignored
+ (discarded, it is a macro which simply expands
+ to key
), while the
+ NSLocalizedString
will actually look up
+ the string for translation in the
+ Localizable.strings
file.
+
+ + +
++ + Please note that there is currently no + macro/function to localize static strings + using different tables. If you need that + functionality, you have either to prepare + the localization tables by hand, or to rewrite your + code in such a way as not to use static strings. +
++ + To be used inside a method for making sure that a range + does not specify anything outside the size of an + array/string. Raises exception if range extends + beyond [0,size]. Size must be an + unsigned integer (NSUInteger). + +
nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + + This function (macro) is a GNUstep extension. +
++ + +
+
+
+ _(@"My string to translate")
+
+ + +
++ + is basically equivalent to +
++ + +
+
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ + +
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
+
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ + +
+
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ + +
++ + Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ + +
nil
. nil
. nil
. nil
pointer for tidiness - we can't
+ accidentally use a DESTROYED object later. It
+ also makes sure to set the variable to nil
+ before releasing the object - to avoid side-effects of
+ the release trying to reference the object being released
+ through the variable. + + This function (macro) is a GNUstep extension. +
++ + +
+
+
+ _(@"My string to translate")
+
+ + +
++ + is basically equivalent to +
++ + +
+
+
+
+ NSLocalizedString(@"My string to
+ translate", @"")
+
+
+ + +
+
+
+ It is useful when you need to translate an application
+ very quickly, as you just need to enclose all strings
+ inside
+ _()
+
.
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using NSLocalizedString
+ instead when you need a comment.
+
+ + +
+
+
+ You may define GS_LOCALISATION_BUNDLE_ID to the bundle
+ identifier of the bundle which is to provide the
+ localisation information.
This can be
+ used when compiling a single file by specifying
+ something like '-D
+ GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)'
+ in your make file.
If this is not defined, the
+ localisation is provided by your application's
+ main bundle exactly like the NSLocalizedString
+ function.
+
+ + +
++ + Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ + +
++ + This function (macro) is a GNUstep extension. +
++ + +
+
+
+ __(@"My string to translate")
+
+ + +
++ + is exactly the same as +
++ + +
+
+
+
+ GSLocalizedStaticString(@"My
+ string to translate", @"")
+
+
+ + +
++ + It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings: +
++ + +
+
+
+
+ NSString *message = __(@"Hello there");... more
+ code... NSLog (_(messages));
+
+
+ + +
+
+
+ But please note that when you use this macro, you are
+ not taking advantage of comments for the translator, so
+ consider using
+ GSLocalizedStaticString
instead when
+ you need a comment.
+
+ + +
+
++
++ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version + < REM, where ADD is the + version number at which a feature guarded by the + macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
+
where ADD
is the
+ version number of the next minor release after the
+ most recent one.
As a general principle you
+ should not change the API with changing
+ subminor version numbers... as that tends to
+ confuse people (though Apple has sometimes done
+ it).
+
+ + +
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version + < REM, where ADD is the + version number at which a feature guarded by the + macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
+
where ADD
is the
+ version number of the next minor release after the
+ most recent one.
As a general principle you
+ should not change the API with changing
+ subminor version numbers... as that tends to
+ confuse people (though Apple has sometimes done
+ it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD + <= version < REM, where + ADD is the version number at which a + feature guarded by the macro was introduced and + REM is the version number at which it was + removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
++ + +
+ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version < REM, + where ADD is the version number at which a feature + guarded by the macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
+
+
+ NB. If you are changing the API (eg adding a new
+ feature) you need to control the visibility io the
+ new header file code using
+ #if GS_API_VERSION(ADD,GS_API_LATEST)
+
where ADD
is the version number
+ of the next minor release after the most recent one.
+
As a general principle you should
+ not change the API with changing subminor
+ version numbers... as that tends to confuse people
+ (though Apple has sometimes done it).
+
+ + +
++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD <= + version < REM, where ADD is the version number + at which a feature guarded by the macro was introduced + and REM is the version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
+
+
+ A constant which is the lowest possible version number (0)
+ so that when used as the removal version (second argument
+ of the GS_API_VERSION or OS_API_VERSION macro) represents
+ a feature which is not present in any version.
eg.
+
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_NONE, GS_API_NONE)
denotes code
+ not present in OpenStep/OPENSTEP/MacOS-X
A
+ constant to represent a feature which is still
+ present in the latest version. This is the highest
+ possible version number.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
The version number of the initial OpenStep
+ specification.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OSSPEC, GS_API_LATEST)
denotes
+ code present from the OpenStep specification onwards.
+
The version number of the first OPENSTEP
+ implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP
+ version onwards.
The version number of the
+ first MacOS-X implementation.
eg.
#if
+
+ OS_API_VERSION
+
+
+ (GS_API_MACOSX, GS_API_LATEST)
denotes
+ code present from the initial MacOS-X version onwards.
+
+
+
+
+
+ This is a macro designed to minimise the use of memory
+ allocation and deallocation when you need to
+ work with a vararg list of objects.
The objects
+ are unpacked from the vararg list into two 'C' arrays
+ and then a code fragment you specify is able
+ to make use of them before that 'C' array is destroyed.
+
+ + +
++ + The firstObject argument is the name of the + formal parameter in your method or function which + precedes the ',...' denoting variable args. +
++ + +
+
+
+ The code argument is a piece of objective-c
+ code to be executed to make use of the
+ objects stored in the 'C' arrays.
When this
+ code is called the
+ unsigned integer '__count' will
+ contain the number of objects unpacked, the pointer
+ '__objects' will point to the first object in
+ each pair, and the pointer '__pairs' will point to an
+ array containing the second halves of the pairs of
+ objects whose first halves are in '__objects'.
+
This lets you pack a list of the form 'key,
+ value, key, value,...' into an array of keys and an
+ array of values.
+
+ + +
+
+
+ This is a macro designed to minimise the use of memory
+ allocation and deallocation when you need to
+ work with a vararg list of objects.
The objects
+ are unpacked from the vararg list into a 'C' array and
+ then a code fragment you specify is able to
+ make use of them before that 'C' array is destroyed.
+
+ + +
++ + The firstObject argument is the name of the + formal parameter in your method or function which + precedes the ',...' denoting variable args. +
++ + +
+
+
+ The code argument is a piece of objective-c
+ code to be executed to make use of the
+ objects stored in the 'C' array.
When this
+ code is called the
+ unsigned integer '__count' will
+ contain the number of objects unpacked, and the
+ pointer '__objects' will point to the unpacked
+ objects, ie. firstObject followed by
+ the vararg arguments up to (but not including) the
+ first nil
.
+
+ + +
+
+ This is a macro designed to minimise the use of memory
+ allocation and deallocation when you need to
+ work with a vararg list of objects.
The objects
+ are unpacked from the vararg list into two 'C' arrays
+ and then a code fragment you specify is able
+ to make use of them before that 'C' array is destroyed.
+
+ + +
++ + The firstObject argument is the name of the + formal parameter in your method or function which + precedes the ',...' denoting variable args. +
++ + +
+
+
+ The code argument is a piece of objective-c
+ code to be executed to make use of the
+ objects stored in the 'C' arrays.
When this
+ code is called the
+ unsigned integer '__count' will
+ contain the number of objects unpacked, the pointer
+ '__objects' will point to the first object in
+ each pair, and the pointer '__pairs' will point to an
+ array containing the second halves of the pairs of
+ objects whose first halves are in '__objects'.
+
This lets you pack a list of the form 'key,
+ value, key, value,...' into an array of keys and an
+ array of values.
+
+ + +
+
++
++ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
Macro to
+ log a message only the first time it is encountered.
+
Not entirely thread safe... but that's not
+ really important, it just means that it's possible for
+ the message to be logged more than once if two threads
+ call it simultaneously when it has not already been
+ called.
Use this from inside a function. Pass
+ an NSString as a format, followed by zero or more
+ arguments for the format string. Example:
+ GSOnceFLog(@"This function is deprecated,
+ use another");
Macro to log a message only the
+ first time it is encountered.
Not entirely
+ thread safe... but that's not really important, it
+ just means that it's possible for the message to be
+ logged more than once if two threads call it
+ simultaneously when it has not already been
+ called.
Use this from inside a method. Pass an
+ NSString as a format followed by zero or more
+ arguments for the format string.
Example:
+ GSOnceMLog(@"This method is deprecated, use
+ another");
+
+
+ + + NSWarnLog() + + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ + +
++ + Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ + +
++ + You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ + +
++ + These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ + +
++ + NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ + +
++ + To embed debug logging in your code you use the + + NSWarnLog() + + + macro. +
++ + +
++ + As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + + , and + + NSWarnMLog() + + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is like
+
+ NSWarnLog()
+
+
+ but includes the name and location of the
+ function in which the macro is used as part of
+ the log output.
This macro is like
+
+ NSWarnLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
The DLog macro is a less powerful but commonly
+ used logging macro, defined here for convenience when
+ porting code. It will tell you the function name and
+ line number but not the file location. It performs
+ unconditional logging but is only compiled in
+ when the program is built with DEBUG defined.
The
+ Alog macro is the same as the DLog macro, but is always
+ compiled in to the code whether DEBUG is defined or
+ not.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
Macro to
+ log a message only the first time it is encountered.
+
Not entirely thread safe... but that's not
+ really important, it just means that it's possible for
+ the message to be logged more than once if two threads
+ call it simultaneously when it has not already been
+ called.
Use this from inside a function. Pass
+ an NSString as a format, followed by zero or more
+ arguments for the format string. Example:
+ GSOnceFLog(@"This function is deprecated,
+ use another");
Macro to log a message only the
+ first time it is encountered.
Not entirely
+ thread safe... but that's not really important, it
+ just means that it's possible for the message to be
+ logged more than once if two threads call it
+ simultaneously when it has not already been
+ called.
Use this from inside a method. Pass an
+ NSString as a format followed by zero or more
+ arguments for the format string.
Example:
+ GSOnceMLog(@"This method is deprecated, use
+ another");
+
+
+ + + NSWarnLog() + + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ + +
++ + Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ + +
++ + You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ + +
++ + These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ + +
++ + NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ + +
++ + To embed debug logging in your code you use the + + NSWarnLog() + + + macro. +
++ + +
++ + As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + + , and + + NSWarnMLog() + + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is like
+
+ NSWarnLog()
+
+
+ but includes the name and location of the
+ function in which the macro is used as part of
+ the log output.
This macro is like
+
+ NSWarnLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
The DLog macro is a less powerful but commonly
+ used logging macro, defined here for convenience when
+ porting code. It will tell you the function name and
+ line number but not the file location. It performs
+ unconditional logging but is only compiled in
+ when the program is built with DEBUG defined.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
Macro to
+ log a message only the first time it is encountered.
+
Not entirely thread safe... but that's not
+ really important, it just means that it's possible for
+ the message to be logged more than once if two threads
+ call it simultaneously when it has not already been
+ called.
Use this from inside a function. Pass
+ an NSString as a format, followed by zero or
+ more arguments for the format string.
+ Example: GSOnceFLog(@"This function is deprecated,
+ use another");
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
Macro to
+ log a message only the first time it is encountered.
+
Not entirely thread safe... but that's not
+ really important, it just means that it's possible for
+ the message to be logged more than once if two threads
+ call it simultaneously when it has not already been
+ called.
Use this from inside a function. Pass
+ an NSString as a format, followed by zero or
+ more arguments for the format string.
+ Example: GSOnceFLog(@"This function is deprecated,
+ use another");
Macro to log a message only the
+ first time it is encountered.
Not entirely
+ thread safe... but that's not really important, it
+ just means that it's possible for the message to be
+ logged more than once if two threads call it
+ simultaneously when it has not already been
+ called.
Use this from inside a method. Pass an
+ NSString as a format followed by zero or
+ more arguments for the format string.
+ Example: GSOnceMLog(@"This method is deprecated, use
+ another");
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
+
This macro saves the name and location of the
+ function in which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the
+ tag associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the
+ tag associated with a recorded object.
+ This macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the
+ tag associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
++ + +
++ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
+
This macro saves the name and location of the
+ function in which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at + runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where + no debug key is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
+ This macro is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
+
This macro saves the name and location of the
+ function in which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the
+ tag associated with a recorded object.
+ This macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the
+ tag associated with a recorded object.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
Macro to
+ log a message only the first time it is encountered.
+
Not entirely thread safe... but that's not
+ really important, it just means that it's possible for
+ the message to be logged more than once if two threads
+ call it simultaneously when it has not already been
+ called.
Use this from inside a function. Pass
+ an NSString as a format, followed by zero or
+ more arguments for the format string.
+ Example: GSOnceFLog(@"This function is deprecated,
+ use another");
Macro to log a message only the
+ first time it is encountered.
Not entirely
+ thread safe... but that's not really important, it
+ just means that it's possible for the message to be
+ logged more than once if two threads call it
+ simultaneously when it has not already been
+ called.
Use this from inside a method. Pass an
+ NSString as a format followed by zero or
+ more arguments for the format string.
+ Example: GSOnceMLog(@"This method is deprecated, use
+ another");
+
+
+ + + NSWarnLog() + + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ + +
++ + Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ + +
++ + You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ + +
++ + These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ + +
++ + NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ + +
++ + To embed debug logging in your code you use the + + NSWarnLog() + + + macro. +
++ + +
++ + As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + + , and + + NSWarnMLog() + + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is like
+
+ NSWarnLog()
+
+
+ but includes the name and location of the
+ function in which the macro is used as part of
+ the log output.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
Macro to
+ log a message only the first time it is encountered.
+
Not entirely thread safe... but that's not
+ really important, it just means that it's possible for
+ the message to be logged more than once if two threads
+ call it simultaneously when it has not already been
+ called.
Use this from inside a function. Pass
+ an NSString as a format, followed by zero or
+ more arguments for the format string.
+ Example: GSOnceFLog(@"This function is deprecated,
+ use another");
Macro to log a message only the
+ first time it is encountered.
Not entirely
+ thread safe... but that's not really important, it
+ just means that it's possible for the message to be
+ logged more than once if two threads call it
+ simultaneously when it has not already been
+ called.
Use this from inside a method. Pass an
+ NSString as a format followed by zero or
+ more arguments for the format string.
+ Example: GSOnceMLog(@"This method is deprecated, use
+ another");
+
+
+ + + NSWarnLog() + + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ + +
++ + Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ + +
++ + You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ + +
++ + These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ + +
++ + NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ + +
++ + To embed debug logging in your code you use the + + NSWarnLog() + + + macro. +
++ + +
++ + As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + + , and + + NSWarnMLog() + + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is like
+
+ NSWarnLog()
+
+
+ but includes the name and location of the
+ function in which the macro is used as part of
+ the log output.
This macro is like
+
+ NSWarnLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
+
+ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug keys - your program can modify this + set. +
++ + +
++ + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
+
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
+
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
Macro to
+ log a message only the first time it is encountered.
+
Not entirely thread safe... but that's not
+ really important, it just means that it's possible for
+ the message to be logged more than once if two threads
+ call it simultaneously when it has not already been
+ called.
Use this from inside a function. Pass
+ an NSString as a format, followed by zero or
+ more arguments for the format string.
+ Example: GSOnceFLog(@"This function is deprecated,
+ use another");
Macro to log a message only the
+ first time it is encountered.
Not entirely
+ thread safe... but that's not really important, it
+ just means that it's possible for the message to be
+ logged more than once if two threads call it
+ simultaneously when it has not already been
+ called.
Use this from inside a method. Pass an
+ NSString as a format followed by zero or
+ more arguments for the format string.
+ Example: GSOnceMLog(@"This method is deprecated, use
+ another");
+
+
+ + + NSWarnLog() + + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ + +
++ + Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ + +
++ + You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ + +
++ + These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ + +
++ + NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ + +
++ + To embed debug logging in your code you use the + + NSWarnLog() + + + macro. +
++ + +
++ + As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + + , and + + NSWarnMLog() + + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
++ + +
++ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging key was set at runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
+
+
+ NSProcess initialises a set of strings that are
+ the names of active debug keys using the
+ '--GNU-Debug=...' command line argument.
+ Each command-line argument of that form is removed
+ from NSProcessInfo
's list of arguments
+ and the variable part (...) is added to the set. This
+ means that as far as the program proper is concerned,
+ it is running with the same arguments as if debugging
+ had not been enabled.
+
+ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used.
@@ -982,37 +12562,34 @@
- The version number arguments are six digit integers - where the first two digits are the major version - number, the second two are the minor version number - and the last two are the subminor number (all left - padded with a zero where necessary). However, for - convenience you can also use any of several - predefined constants... - - GS_API_NONE + To embed debug logging in your code you use the + + NSDebugLLog() - , - - GS_API_LATEST + or + + NSDebugLog() - , - - GS_API_OSSPEC + macro. + + NSDebugLog() - , - - GS_API_OPENSTEP + is just + + NSDebugLLog() - , - - GS_API_MACOSX + with the debug key set to 'dflt'. So, to activate + debug statements that use + + NSDebugLog() + , you supply the '--GNU-Debug=dflt' argument to your + program.
@@ -1020,11 +12597,15 @@
- Also see - - GS_API_VERSION + You can also change the active debug keys under your + programs control - NSProcessInfo has a + + [-debugSet] + method that returns the mutable set that contains + the active debug keys - your program can modify this + set.
@@ -1032,11 +12613,10 @@
- For OSX compatibility, this macro also supports the use - of Apple's symbolic constants for version numbering. - Their contants are currently four digit values (two - digits for the major version, one for the minor, and - one for the subminor). + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages.
@@ -1044,95 +12624,120 @@
- The Apple compatibility version macros are currently: - - MAC_OS_X_VERSION_10_0 - + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + , - - MAC_OS_X_VERSION_10_1 - + + NSDebugFLLog() + , - - MAC_OS_X_VERSION_10_2 - + + NSDebugMLog() + - , - - MAC_OS_X_VERSION_10_3 - + and + + NSDebugMLLog() + - , - - MAC_OS_X_VERSION_10_4 - + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
+
+
+ This macro is a shorthand for
+
+ NSDebugLLog()
+
- ,
-
- MAC_OS_X_VERSION_10_5
-
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
- ,
-
- MAC_OS_X_VERSION_10_6
-
+ but includes the name and location of the function in
+ which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugFLLog()
+
- ,
-
- MAC_OS_X_VERSION_10_7
-
+ using the default debug key... 'dflt'
This macro
+ is like
+
+ NSDebugLLog()
+
- ,
-
- MAC_OS_X_VERSION_10_8
-
+ but includes the name and location of the method
+ in which the macro is used as part of the log output.
+
This macro is a shorthand for
+
+ NSDebugMLLog()
+
+
+ using then default debug key... 'dflt'
This
+ macro saves the name and location of the function in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
This
+ macro saves the name and location of the method in
+ which the macro is used, along with a
+ short string msg as the tag
+ associated with a recorded object.
Macro to
+ log a message only the first time it is encountered.
+
Not entirely thread safe... but that's not
+ really important, it just means that it's possible for
+ the message to be logged more than once if two threads
+ call it simultaneously when it has not already been
+ called.
Use this from inside a function. Pass
+ an NSString as a format, followed by zero or
+ more arguments for the format string.
+ Example: GSOnceFLog(@"This function is deprecated,
+ use another");
Macro to log a message only the
+ first time it is encountered.
Not entirely
+ thread safe... but that's not really important, it
+ just means that it's possible for the message to be
+ logged more than once if two threads call it
+ simultaneously when it has not already been
+ called.
Use this from inside a method. Pass an
+ NSString as a format followed by zero or
+ more arguments for the format string.
+ Example: GSOnceMLog(@"This method is deprecated, use
+ another");
+
+
+ + + NSWarnLog() + + is the basic debug logging macro used to display warning + messages using - MAC_OS_X_VERSION_10_9 + NSLog() + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime.
- -
-
-
- This is a macro designed to minimise the use of memory
- allocation and deallocation when you need to
- work with a vararg list of objects.
The objects
- are unpacked from the vararg list into a 'C' array and
- then a code fragment you specify is able to
- make use of them before that 'C' array is destroyed.
+ Warning messages which can be enabled/disabled by
+ defining GSWARN when compiling.
@@ -1140,9 +12745,10 @@
- The firstObject argument is the name of the - formal parameter in your method or function which - precedes the ',...' denoting variable args. + You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'.
@@ -1150,39 +12756,25 @@
- The code argument is a piece of objective-c
- code to be executed to make use of the
- objects stored in the 'C' array.
When this
- code is called the
- unsigned integer '__count' will
- contain the number of objects unpacked, and the
- pointer '__objects' will point to the unpacked
- objects, ie. firstObject followed by
- the vararg arguments up to (but not including) the
- first nil
.
+ These logging macros are intended to be used when the
+ software detects something that it not necessarily
+ fatal or illegal, but looks like it might be a
+ programming error. eg. attempting to remove
+ 'nil' from an NSArray, which the Spec/documentation
+ does not prohibit, but which a well written program
+ should not be attempting (since an NSArray object
+ cannot contain a 'nil').
- -
- This is a macro designed to minimise the use of memory
- allocation and deallocation when you need to
- work with a vararg list of objects.
The objects
- are unpacked from the vararg list into two 'C' arrays
- and then a code fragment you specify is able
- to make use of them before that 'C' array is destroyed.
+ NB. The 'warn=yes' option is understood by the GNUstep
+ make package to mean that GSWARN should be defined,
+ and the 'warn=no' means that GSWARN should be
+ undefined. Default is to define it.
@@ -1190,9 +12782,12 @@
- The firstObject argument is the name of the - formal parameter in your method or function which - precedes the ',...' denoting variable args. + To embed debug logging in your code you use the + + NSWarnLog() + + + macro.
@@ -1200,119 +12795,43 @@
- The code argument is a piece of objective-c
- code to be executed to make use of the
- objects stored in the 'C' arrays.
When this
- code is called the
- unsigned integer '__count' will
- contain the number of objects unpacked, the pointer
- '__objects' will point to the first object in
- each pair, and the pointer '__pairs' will point to an
- array containing the second halves of the pairs of
- objects whose first halves are in '__objects'.
-
This lets you pack a list of the form 'key,
- value, key, value,...' into an array of keys and an
- array of values.
-
- - -
-
-This macro is like - - NSDebugLLog() + + NSWarnLog() - but includes the name and location of the function in - which the macro is used as part of the log output. - -
- + NSDebugLLog() @@ -1333,8 +12852,7 @@
@@ -1356,7 +12874,7 @@
NSProcess initialises a set of strings that are
- the names of active debug levels using the
+ the names of active debug keys using the
'--GNU-Debug=...' command line argument.
Each command-line argument of that form is removed
from NSProcessInfo
's list of arguments
@@ -1382,8 +12900,8 @@
- NSUserDefaults also adds debug levels from - the array given by the GNU-Debug key... but these + NSUserDefaults also adds debug keys from the + array given by the GNU-Debug default... but these values will not take effect until the +standardUserDefaults @@ -1400,28 +12918,28 @@
To embed debug logging in your code you use the - + NSDebugLLog() or - + NSDebugLog() macro. - + NSDebugLog() is just - + NSDebugLLog() - with the debug level set to 'dflt'. So, to - activate debug statements that use - + with the debug key set to 'dflt'. So, to activate + debug statements that use + NSDebugLog() @@ -1434,14 +12952,14 @@
- You can also change the active debug levels under your + You can also change the active debug keys under your programs control - NSProcessInfo has a - + [-debugSet] method that returns the mutable set that contains - the active debug levels - your program can modify this + the active debug keys - your program can modify this set.
@@ -1450,10 +12968,10 @@
- Two debug levels have a special effect - 'dflt' is the - level used for debug logs statements where - no debug level is specified, and 'NoWarn' is - used to *disable* warning messages. + Two debug keys have a special effect - 'dflt' is the + key used for debug logs statements where no debug key + is specified, and 'NoWarn' is used to *disable* warning + messages.
@@ -1463,22 +12981,22 @@
- -
- + NSWarnLog() @@ -1651,7 +13138,7 @@
To embed debug logging in your code you use the - + NSWarnLog() @@ -1665,12 +13152,12 @@
- -
NSLock *my_lock = nil; @@ -1745,25 +13224,29 @@GS_INITIALIZED_LOCK
-GSBlocks functions
+GSBlocks functions
_Block_copy
- void* _Block_copy(void* );
+ void* _Block_copy(const void* );
Availability: OpenStep
- _Block_copy and _Block_release are weakly - imported, but can be assumed to be available + Defines a block type. Will work whether or not the + compiler natively supports blocks.
Calls a + block. Works irrespective of whether the compiler + supports blocks.
Calls a block without + arguments.
_Block_copy and _Block_release + are weakly imported, but can be assumed to be available whenever a feature using blocks is accessed by an application.
_Block_release
- void _Block_release(void* );
+ void _Block_release(const void* );
Availability: OpenStep
@@ -1774,7 +13257,7 @@_Block_release
-GSVersionMacros functions
+GSVersionMacros functions
gs_consumed
@@ -1789,7 +13272,7 @@gs_consumed
-GSObjCRuntime functions
+GSObjCRuntime functions
GSAutoreleasedBuffer
@@ -1804,17 +13287,13 @@GSAutoreleasedBuffer
GSCGetInstanceVariableDefinition
- GSIVar GSCGetInstanceVariableDefinition(Class cls, const char* name);
+ GSIVar GSCGetInstanceVariableDefinition(Class cls, const char* name);
Availability: OpenStep
- Deprecated.. use - - class_getInstanceVariable() - - + Deprecated.. use "class_getInstanceVariable()".
@@ -1825,15 +13304,11 @@GSClassFromName
- + GSClassFromName() - is deprecated... use - - objc_lookUpClass() - - + is deprecated... use "objc_lookUpClass()".
@@ -1844,11 +13319,7 @@GSClassList
- Deprecated... use - - objc_getClassList() - - + Deprecated... use "objc_getClassList()".
@@ -1859,20 +13330,12 @@GSClassNameFromObject
- + GSClassNameFromObject() - is deprecated... use - - object_getClass() - - - in conjunction with - - class_getName() - - + is deprecated... use "object_getClass()". in conjunction + with "class_getName()".
@@ -1905,7 +13368,7 @@GSFlushMethodCacheForClass
GSGetMethod
- GSMethod GSGetMethod(Class cls, SEL sel, BOOL searchInstanceMethods, BOOL searchSuperClasses);
+ GSMethod GSGetMethod(Class cls, SEL sel, BOOL searchInstanceMethods, BOOL searchSuperClasses);
Availability: OpenStep
@@ -1920,15 +13383,10 @@GSGetMethod
To obtain the implementation pointer IMP use returnValue->method_imp which should be safe across all runtimes.
It should be safe to - use this function in - - +load - - - implementations.
This function should - currently (June 2004) be considered WIP. Please - follow potential changes (Name, parameters,...) - closely until it stabilizes. + use this function in "+load" implementations.
This + function should currently (June 2004) be considered + WIP. Please follow potential changes (Name, parameters, + ...) closely until it stabilizes.
@@ -1951,15 +13409,11 @@GSNameFromClass
- + GSNameFromClass() - is deprecated... use - - class_getName() - - + is deprecated... use "class_getName()".
@@ -1970,15 +13424,11 @@GSNameFromSelector
- + GSNameFromSelector() - is deprecated... use - - sel_getName() - - + is deprecated... use "sel_getName()".
@@ -2162,7 +13612,7 @@GSObjCAddClasses
The classes argument is an array of NSValue objects containing pointers to classes previously created by the - + GSObjCMakeClass() @@ -2220,15 +13670,11 @@GSObjCClass
- + GSObjCClass() - is deprecated... use - - object_getClass() - - + is deprecated... use "object_getClass()".
@@ -2263,17 +13709,13 @@GSObjCFindVariable
GSObjCGetInstanceVariableDefinition
- GSIVar GSObjCGetInstanceVariableDefinition(Class cls, NSString* name);
+ GSIVar GSObjCGetInstanceVariableDefinition(Class cls, NSString* name);
Availability: OpenStep
- Deprecated.. use - - class_getInstanceVariable() - - + Deprecated.. use "class_getInstanceVariable()".
@@ -2292,8 +13734,9 @@GSObjCGetVal
conversion between NSNumber and C scalar types is performed.
If type is null and can't be determined from the selector, the - [NSObject -handleQueryWithUnboundKey:] - method is called to try to get a value. + "-handleQueryWithUnboundKey:" + method is called (if the object responds to that + message) to try to get a value.
@@ -2308,7 +13751,7 @@GSObjCGetVariable
obj
This function performs no checking... you should use it only where you are providing information from a call to - + GSObjCFindVariable() @@ -2324,20 +13767,12 @@GSObjCIsClass
- + GSObjCIsClass() - is deprecated... use - - object_getClass() - - - in conjunction with - - class_isMetaClass() - - + is deprecated... use "object_getClass()" in conjunction + with "class_isMetaClass()".
@@ -2348,20 +13783,12 @@GSObjCIsInstance
- + GSObjCIsInstance() - is deprecated... use - - object_getClass() - - - in conjunction with - - class_isMetaClass() - - + is deprecated... use "object_getClass()" in conjunction + with "class_isMetaClass()".
@@ -2395,7 +13822,7 @@GSObjCMakeClass
the ObjectiveC runtime and return an NSValue object pointing to it. The class will not be added to the runtime (you must do that later using the - + GSObjCAddClasses() @@ -2446,9 +13873,9 @@GSObjCSetVal
are supplied).
Automatic conversion between NSNumber and C scalar types is performed.
If type is null and can't be determined from - the selector, the - [NSObject -handleTakeValue:forUnboundKey:] - method is called to try to set a value. + the selector, the "-handleTakeValue:forUnboundKey:" + method is called (if the object responds to that + message) to try to set a value.
@@ -2463,7 +13890,7 @@GSObjCSetVariable
This function performs no checking... you should use it only where you are providing information from a call to - + GSObjCFindVariable() @@ -2479,15 +13906,11 @@GSObjCSuper
- + GSObjCSuper() - is deprecated... use - - class_getSuperclass() - - + is deprecated... use "class_getSuperclass()".
@@ -2514,15 +13937,11 @@GSObjCVersion
- + GSObjCVersion() - is deprecated... use - - class_getVersion() - - + is deprecated... use "class_getVersion()"
@@ -2562,7 +13981,7 @@GSPrintf
This function is recommended for printing general log messages. For debug messages use - + NSDebugLog() @@ -2572,7 +13991,7 @@GSPrintf
, and for warnings you might consider - + NSWarnLog() @@ -2595,7 +14014,7 @@GSProtocolFromName
classes for any protocol with the supplied name. If one is found, it is cached in for future requests. If efficiency is a factor then use - + GSRegisterProtocol() @@ -2628,7 +14047,7 @@GSRegisterProtocol
Registers proto in the cache used by - + GSProtocolFromName() @@ -2643,15 +14062,11 @@GSSelectorFromName
- + GSSelectorFromName() - is deprecated... use - - sel_getUid() - - + is deprecated... use "sel_getUid()".
@@ -2714,11 +14129,11 @@GSTypesFromSelector
-GSIArray functions
+GSIArray functions
GSIArrayAddItem
- void GSIArrayAddItem(GSIArray array, GSIArrayItem item);
+ void GSIArrayAddItem(GSIArray array, GSIArrayItem item);
Availability: Not in OpenStep/MacOS-X
@@ -2729,7 +14144,7 @@GSIArrayAddItem
GSIArrayAddItemNoRetain
- void GSIArrayAddItemNoRetain(GSIArray array, GSIArrayItem item);
+ void GSIArrayAddItemNoRetain(GSIArray array, GSIArrayItem item);
Availability: Not in OpenStep/MacOS-X
@@ -2740,7 +14155,7 @@GSIArrayAddItemNoRetain
GSIArrayCapacity
- unsigned int GSIArrayCapacity(GSIArray array);
+ unsigned int GSIArrayCapacity(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2751,7 +14166,7 @@GSIArrayCapacity
GSIArrayCheckSort
- void GSIArrayCheckSort(GSIArray array, NSComparisonResult(*) sorter);
+ void GSIArrayCheckSort(GSIArray array, NSComparisonResult(*) sorter);
Availability: Not in OpenStep/MacOS-X
@@ -2762,7 +14177,7 @@GSIArrayCheckSort
GSIArrayClear
- void GSIArrayClear(GSIArray array);
+ void GSIArrayClear(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2773,7 +14188,7 @@GSIArrayClear
GSIArrayCopyWithZone
- GSIArray GSIArrayCopyWithZone(GSIArray array, NSZone* zone);
+ GSIArray GSIArrayCopyWithZone(GSIArray array, NSZone* zone);
Availability: Not in OpenStep/MacOS-X
@@ -2784,7 +14199,7 @@GSIArrayCopyWithZone
GSIArrayCount
- unsigned int GSIArrayCount(GSIArray array);
+ unsigned int GSIArrayCount(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2795,7 +14210,7 @@GSIArrayCount
GSIArrayEmpty
- void GSIArrayEmpty(GSIArray array);
+ void GSIArrayEmpty(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2806,7 +14221,7 @@GSIArrayEmpty
GSIArrayGrow
- void GSIArrayGrow(GSIArray array);
+ void GSIArrayGrow(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2817,7 +14232,7 @@GSIArrayGrow
GSIArrayGrowTo
- void GSIArrayGrowTo(GSIArray array, unsigned int next);
+ void GSIArrayGrowTo(GSIArray array, unsigned int next);
Availability: Not in OpenStep/MacOS-X
@@ -2828,7 +14243,7 @@GSIArrayGrowTo
GSIArrayInitWithZoneAndCapacity
- GSIArray GSIArrayInitWithZoneAndCapacity(GSIArray array, NSZone* zone, size_t capacity);
+ GSIArray GSIArrayInitWithZoneAndCapacity(GSIArray array, NSZone* zone, size_t capacity);
Availability: Not in OpenStep/MacOS-X
@@ -2839,7 +14254,7 @@GSIArrayInitWithZoneAndCa
GSIArrayInitWithZoneAndStaticCapacity
- GSIArray GSIArrayInitWithZoneAndStaticCapacity(GSIArray array, NSZone* zone, size_t capacity, GSIArrayItem* buffer);
+ GSIArray GSIArrayInitWithZoneAndStaticCapacity(GSIArray array, NSZone* zone, size_t capacity, GSIArrayItem* buffer);
Availability: Not in OpenStep/MacOS-X
@@ -2850,7 +14265,7 @@GSIArrayInitWithZon
GSIArrayInsertItem
- void GSIArrayInsertItem(GSIArray array, GSIArrayItem item, unsigned int index);
+ void GSIArrayInsertItem(GSIArray array, GSIArrayItem item, unsigned int index);
Availability: Not in OpenStep/MacOS-X
@@ -2861,7 +14276,7 @@GSIArrayInsertItem
GSIArrayInsertItemNoRetain
- void GSIArrayInsertItemNoRetain(GSIArray array, GSIArrayItem item, unsigned int index);
+ void GSIArrayInsertItemNoRetain(GSIArray array, GSIArrayItem item, unsigned int index);
Availability: Not in OpenStep/MacOS-X
@@ -2872,7 +14287,7 @@GSIArrayInsertItemNoRetain
GSIArrayInsertSorted
- void GSIArrayInsertSorted(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
+ void GSIArrayInsertSorted(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
Availability: Not in OpenStep/MacOS-X
@@ -2883,7 +14298,7 @@GSIArrayInsertSorted
GSIArrayInsertSortedNoRetain
- void GSIArrayInsertSortedNoRetain(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
+ void GSIArrayInsertSortedNoRetain(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
Availability: Not in OpenStep/MacOS-X
@@ -2894,7 +14309,7 @@GSIArrayInsertSortedNoRetain
GSIArrayInsertionPosition
- unsigned int GSIArrayInsertionPosition(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
+ unsigned int GSIArrayInsertionPosition(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
Availability: Not in OpenStep/MacOS-X
@@ -2905,7 +14320,7 @@GSIArrayInsertionPosition
GSIArrayItemAtIndex
- GSIArrayItem GSIArrayItemAtIndex(GSIArray array, unsigned int index);
+ GSIArrayItem GSIArrayItemAtIndex(GSIArray array, unsigned int index);
Availability: Not in OpenStep/MacOS-X
@@ -2916,7 +14331,7 @@GSIArrayItemAtIndex
GSIArrayItems
- GSIArrayItem* GSIArrayItems(GSIArray array);
+ GSIArrayItem* GSIArrayItems(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2927,7 +14342,7 @@GSIArrayItems
GSIArrayLastItem
- GSIArrayItem GSIArrayLastItem(GSIArray array);
+ GSIArrayItem GSIArrayLastItem(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2938,7 +14353,7 @@GSIArrayLastItem
GSIArrayRemoveAllItems
- void GSIArrayRemoveAllItems(GSIArray array);
+ void GSIArrayRemoveAllItems(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2949,7 +14364,7 @@GSIArrayRemoveAllItems
GSIArrayRemoveItemAtIndex
- void GSIArrayRemoveItemAtIndex(GSIArray array, unsigned int index);
+ void GSIArrayRemoveItemAtIndex(GSIArray array, unsigned int index);
Availability: Not in OpenStep/MacOS-X
@@ -2960,7 +14375,7 @@GSIArrayRemoveItemAtIndex
GSIArrayRemoveItemAtIndexNoRelease
- void GSIArrayRemoveItemAtIndexNoRelease(GSIArray array, unsigned int index);
+ void GSIArrayRemoveItemAtIndexNoRelease(GSIArray array, unsigned int index);
Availability: Not in OpenStep/MacOS-X
@@ -2971,7 +14386,7 @@GSIArrayRemoveItemAtIn
GSIArrayRemoveItemsFromIndex
- void GSIArrayRemoveItemsFromIndex(GSIArray array, unsigned int index);
+ void GSIArrayRemoveItemsFromIndex(GSIArray array, unsigned int index);
Availability: Not in OpenStep/MacOS-X
@@ -2982,7 +14397,7 @@GSIArrayRemoveItemsFromIndex
GSIArrayRemoveLastItem
- void GSIArrayRemoveLastItem(GSIArray array);
+ void GSIArrayRemoveLastItem(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -2993,7 +14408,7 @@GSIArrayRemoveLastItem
GSIArraySearch
- unsigned int GSIArraySearch(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
+ unsigned int GSIArraySearch(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
Availability: Not in OpenStep/MacOS-X
@@ -3004,7 +14419,18 @@GSIArraySearch
GSIArraySetItemAtIndex
- void GSIArraySetItemAtIndex(GSIArray array, GSIArrayItem item, unsigned int index);
+ void GSIArraySetItemAtIndex(GSIArray array, GSIArrayItem item, unsigned int index);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArraySize
+ NSUInteger GSIArraySize(GSIArray array);
Availability: Not in OpenStep/MacOS-X
@@ -3015,11 +14441,11 @@GSIArraySetItemAtIndex
-GSIMap functions
+GSIMap functions
GSIMapAddKey
- GSIMapNode GSIMapAddKey(GSIMapTable map, GSIMapKey key);
+ GSIMapNode GSIMapAddKey(GSIMapTable map, GSIMapKey key);
Availability: Not in OpenStep/MacOS-X
@@ -3030,7 +14456,7 @@GSIMapAddKey
GSIMapAddKeyNoRetain
- GSIMapNode GSIMapAddKeyNoRetain(GSIMapTable map, GSIMapKey key);
+ GSIMapNode GSIMapAddKeyNoRetain(GSIMapTable map, GSIMapKey key);
Availability: Not in OpenStep/MacOS-X
@@ -3041,7 +14467,7 @@GSIMapAddKeyNoRetain
GSIMapAddNodeToBucket
- void GSIMapAddNodeToBucket(GSIMapBucket bucket, GSIMapNode node);
+ void GSIMapAddNodeToBucket(GSIMapBucket bucket, GSIMapNode node);
Availability: Not in OpenStep/MacOS-X
@@ -3052,7 +14478,7 @@GSIMapAddNodeToBucket
GSIMapAddNodeToMap
- void GSIMapAddNodeToMap(GSIMapTable map, GSIMapNode node);
+ void GSIMapAddNodeToMap(GSIMapTable map, GSIMapNode node);
Availability: Not in OpenStep/MacOS-X
@@ -3063,7 +14489,7 @@GSIMapAddNodeToMap
GSIMapAddPair
- GSIMapNode GSIMapAddPair(GSIMapTable map, GSIMapKey key, GSIMapVal value);
+ GSIMapNode GSIMapAddPair(GSIMapTable map, GSIMapKey key, GSIMapVal value);
Availability: Not in OpenStep/MacOS-X
@@ -3074,7 +14500,7 @@GSIMapAddPair
GSIMapAddPairNoRetain
- GSIMapNode GSIMapAddPairNoRetain(GSIMapTable map, GSIMapKey key, GSIMapVal value);
+ GSIMapNode GSIMapAddPairNoRetain(GSIMapTable map, GSIMapKey key, GSIMapVal value);
Availability: Not in OpenStep/MacOS-X
@@ -3085,7 +14511,7 @@GSIMapAddPairNoRetain
GSIMapBucketForKey
- GSIMapBucket GSIMapBucketForKey(GSIMapTable map, GSIMapKey key);
+ GSIMapBucket GSIMapBucketForKey(GSIMapTable map, GSIMapKey key);
Availability: Not in OpenStep/MacOS-X
@@ -3096,7 +14522,7 @@GSIMapBucketForKey
GSIMapCleanMap
- void GSIMapCleanMap(GSIMapTable map);
+ void GSIMapCleanMap(GSIMapTable map);
Availability: Not in OpenStep/MacOS-X
@@ -3107,7 +14533,7 @@GSIMapCleanMap
GSIMapCountByEnumeratingWithStateObjectsCount
- NSUInteger GSIMapCountByEnumeratingWithStateObjectsCount(GSIMapTable map, NSFastEnumerationState* state, id* stackbuf, NSUInteger len);
+ NSUInteger GSIMapCountByEnumeratingWithStateObjectsCount(GSIMapTable map, NSFastEnumerationState* state, id* stackbuf, NSUInteger len);
Availability: Not in OpenStep/MacOS-X
@@ -3119,7 +14545,7 @@GSIMapCount
GSIMapEmptyMap
- void GSIMapEmptyMap(GSIMapTable map);
+ void GSIMapEmptyMap(GSIMapTable map);
Availability: Not in OpenStep/MacOS-X
@@ -3130,7 +14556,7 @@GSIMapEmptyMap
GSIMapEndEnumerator
- void GSIMapEndEnumerator(GSIMapEnumerator enumerator);
+ void GSIMapEndEnumerator(GSIMapEnumerator enumerator);
Availability: Not in OpenStep/MacOS-X
@@ -3142,7 +14568,7 @@GSIMapEndEnumerator
GSIMapEnumeratorBucket
- GSIMapBucket GSIMapEnumeratorBucket(GSIMapEnumerator enumerator);
+ GSIMapBucket GSIMapEnumeratorBucket(GSIMapEnumerator enumerator);
Availability: Not in OpenStep/MacOS-X
@@ -3152,7 +14578,7 @@GSIMapEnumeratorBucket
enumeration will come. Once the next node has been enumerated, you can use the bucket and node to remove the node from the map using the - + GSIMapRemoveNodeFromMap() @@ -3161,7 +14587,7 @@GSIMapEnumeratorBucket
GSIMapEnumeratorForMap
- GSIMapEnumerator_t GSIMapEnumeratorForMap(GSIMapTable map);
+ GSIMapEnumerator_t GSIMapEnumeratorForMap(GSIMapTable map);
Availability: Not in OpenStep/MacOS-X
@@ -3169,7 +14595,7 @@GSIMapEnumeratorForMap
Enumerating
Create an return an enumerator for the specified map.
You must call - + GSIMapEndEnumerator() @@ -3183,7 +14609,7 @@GSIMapEnumeratorForMap
GSIMapEnumeratorNextNode
- GSIMapNode GSIMapEnumeratorNextNode(GSIMapEnumerator enumerator);
+ GSIMapNode GSIMapEnumeratorNextNode(GSIMapEnumerator enumerator);
Availability: Not in OpenStep/MacOS-X
@@ -3195,7 +14621,7 @@GSIMapEnumeratorNextNode
GSIMapFirstNode
- GSIMapNode GSIMapFirstNode(GSIMapTable map);
+ GSIMapNode GSIMapFirstNode(GSIMapTable map);
Availability: Not in OpenStep/MacOS-X
@@ -3206,7 +14632,7 @@GSIMapFirstNode
GSIMapFreeNode
- void GSIMapFreeNode(GSIMapTable map, GSIMapNode node);
+ void GSIMapFreeNode(GSIMapTable map, GSIMapNode node);
Availability: Not in OpenStep/MacOS-X
@@ -3217,7 +14643,7 @@GSIMapFreeNode
GSIMapInitWithZoneAndCapacity
- void GSIMapInitWithZoneAndCapacity(GSIMapTable map, NSZone* zone, uintptr_t capacity);
+ void GSIMapInitWithZoneAndCapacity(GSIMapTable map, NSZone* zone, uintptr_t capacity);
Availability: Not in OpenStep/MacOS-X
@@ -3228,7 +14654,7 @@GSIMapInitWithZoneAndCapaci
GSIMapLinkNodeIntoBucket
- void GSIMapLinkNodeIntoBucket(GSIMapBucket bucket, GSIMapNode node);
+ void GSIMapLinkNodeIntoBucket(GSIMapBucket bucket, GSIMapNode node);
Availability: Not in OpenStep/MacOS-X
@@ -3239,7 +14665,7 @@GSIMapLinkNodeIntoBucket
GSIMapMoreNodes
- void GSIMapMoreNodes(GSIMapTable map, unsigned int required);
+ void GSIMapMoreNodes(GSIMapTable map, unsigned int required);
Availability: Not in OpenStep/MacOS-X
@@ -3250,7 +14676,7 @@GSIMapMoreNodes
GSIMapNodeForKey
- GSIMapNode GSIMapNodeForKey(GSIMapTable map, GSIMapKey key);
+ GSIMapNode GSIMapNodeForKey(GSIMapTable map, GSIMapKey key);
Availability: Not in OpenStep/MacOS-X
@@ -3261,7 +14687,7 @@GSIMapNodeForKey
GSIMapNodeForKeyInBucket
- GSIMapNode GSIMapNodeForKeyInBucket(GSIMapTable map, GSIMapBucket bucket, GSIMapKey key);
+ GSIMapNode GSIMapNodeForKeyInBucket(GSIMapTable map, GSIMapBucket bucket, GSIMapKey key);
Availability: Not in OpenStep/MacOS-X
@@ -3272,7 +14698,7 @@GSIMapNodeForKeyInBucket
GSIMapNodeForSimpleKey
- GSIMapNode GSIMapNodeForSimpleKey(GSIMapTable map, GSIMapKey key);
+ GSIMapNode GSIMapNodeForSimpleKey(GSIMapTable map, GSIMapKey key);
Availability: Not in OpenStep/MacOS-X
@@ -3283,7 +14709,7 @@GSIMapNodeForSimpleKey
GSIMapPickBucket
- GSIMapBucket GSIMapPickBucket(unsigned int hash, GSIMapBucket buckets, uintptr_t bucketCount);
+ GSIMapBucket GSIMapPickBucket(unsigned int hash, GSIMapBucket buckets, uintptr_t bucketCount);
Availability: Not in OpenStep/MacOS-X
@@ -3294,7 +14720,7 @@GSIMapPickBucket
GSIMapRemangleBuckets
- void GSIMapRemangleBuckets(GSIMapTable map, GSIMapBucket old_buckets, uintptr_t old_bucketCount, GSIMapBucket new_buckets, uintptr_t new_bucketCount);
+ void GSIMapRemangleBuckets(GSIMapTable map, GSIMapBucket old_buckets, uintptr_t old_bucketCount, GSIMapBucket new_buckets, uintptr_t new_bucketCount);
Availability: Not in OpenStep/MacOS-X
@@ -3305,7 +14731,7 @@GSIMapRemangleBuckets
GSIMapRemoveAndFreeNode
- GSIMapNode GSIMapRemoveAndFreeNode(GSIMapTable map, uintptr_t bkt, GSIMapNode node);
+ GSIMapNode GSIMapRemoveAndFreeNode(GSIMapTable map, uintptr_t bkt, GSIMapNode node);
Availability: Not in OpenStep/MacOS-X
@@ -3316,7 +14742,7 @@GSIMapRemoveAndFreeNode
GSIMapRemoveKey
- BOOL GSIMapRemoveKey(GSIMapTable map, GSIMapKey key);
+ BOOL GSIMapRemoveKey(GSIMapTable map, GSIMapKey key);
Availability: Not in OpenStep/MacOS-X
@@ -3330,7 +14756,7 @@GSIMapRemoveKey
GSIMapRemoveNodeFromBucket
- void GSIMapRemoveNodeFromBucket(GSIMapBucket bucket, GSIMapNode node);
+ void GSIMapRemoveNodeFromBucket(GSIMapBucket bucket, GSIMapNode node);
Availability: Not in OpenStep/MacOS-X
@@ -3341,7 +14767,7 @@GSIMapRemoveNodeFromBucket
GSIMapRemoveNodeFromMap
- void GSIMapRemoveNodeFromMap(GSIMapTable map, GSIMapBucket bkt, GSIMapNode node);
+ void GSIMapRemoveNodeFromMap(GSIMapTable map, GSIMapBucket bkt, GSIMapNode node);
Availability: Not in OpenStep/MacOS-X
@@ -3352,7 +14778,7 @@GSIMapRemoveNodeFromMap
GSIMapRemoveWeak
- void GSIMapRemoveWeak(GSIMapTable map);
+ void GSIMapRemoveWeak(GSIMapTable map);
Availability: Not in OpenStep/MacOS-X
@@ -3363,7 +14789,7 @@GSIMapRemoveWeak
GSIMapResize
- void GSIMapResize(GSIMapTable map, uintptr_t new_capacity);
+ void GSIMapResize(GSIMapTable map, uintptr_t new_capacity);
Availability: Not in OpenStep/MacOS-X
@@ -3374,7 +14800,7 @@GSIMapResize
GSIMapRightSizeMap
- void GSIMapRightSizeMap(GSIMapTable map, uintptr_t capacity);
+ void GSIMapRightSizeMap(GSIMapTable map, uintptr_t capacity);
Availability: Not in OpenStep/MacOS-X
@@ -3385,7 +14811,7 @@GSIMapRightSizeMap
GSIMapSize
- NSUInteger GSIMapSize(GSIMapTable map);
+ NSUInteger GSIMapSize(GSIMapTable map);
Availability: Not in OpenStep/MacOS-X
@@ -3396,7 +14822,7 @@GSIMapSize
GSIMapUnlinkNodeFromBucket
- void GSIMapUnlinkNodeFromBucket(GSIMapBucket bucket, GSIMapNode node);
+ void GSIMapUnlinkNodeFromBucket(GSIMapBucket bucket, GSIMapNode node);
Availability: Not in OpenStep/MacOS-X
@@ -3404,26 +14830,6 @@GSIMapUnlinkNodeFromBucket Description forthcoming. - -
- -GSFunctions functions
--
-GSFindNamedFile
- NSString* GSFindNamedFile(NSArray* paths, NSString* aName, NSString* anExtension);
--Availability: BaseAdditions-
- Likely to be changed/moved/removed at 1.15.0
-- - Try to locate file/directory (aName).( - anExtension (aName).(anExtension) - in paths. Will return the first found or -nil
if nothing is found.
- Deprecated... may be removed in later release. -
@@ -3521,7 +14927,27 @@GSSetLocaleC
-NSDebug+GNUstepBase functions
+GSFunctions functions
++
+GSFindNamedFile
+ NSString* GSFindNamedFile(NSArray* paths, NSString* aName, NSString* anExtension);
++Availability: BaseAdditions+
+ Likely to be changed/moved/removed at 1.15.0
++ + Try to locate file/directory (aName).( + anExtension (aName).(anExtension) + in paths. Will return the first found or ++nil
if nothing is found.
+ Deprecated... may be removed in later release. + +
+ +NSDebug+GNUstepBase functions
GSDebugFunctionMsg
@@ -3560,7 +14986,22 @@GSDebugSet
-NSThread+GNUstepBase functions
+NSString+GNUstepBase functions
++
+GSPathHandling
+ const char* GSPathHandling(const char* mode);
++Availability: OpenStep+
++ + See "Portable path handling" in NSString.h. + ++
+ +NSThread+GNUstepBase functions
GSCurrentThread
@@ -3586,7 +15027,7 @@GSCurrentThreadDictionary
-Unicode functions
+Unicode functions
GSEncodingForRegistry
@@ -3602,8 +15043,8 @@GSEncodingForRegistry
iso8859-5 character set, the registry is iso8859 and the encoding is 5, and the returned NSStringEncoding is - NSISOCyrillicStringEncoding. If - there is no specific encoding, use @"0". + NSISOLatinCyrillicStringEncoding. + If there is no specific encoding, use @"0". Returns GSUndefinedEncoding if there is no match. diff --git a/resources/documentation/Developer/BaseAdditions/Reference/FunctionsTOC.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/FunctionsTOC.gsdoc new file mode 100644 index 0000000..d94addb --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/FunctionsTOC.gsdoc @@ -0,0 +1,13 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/FunctionsTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/FunctionsTOC.html index 52351dc..d0a8891 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/FunctionsTOC.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/FunctionsTOC.html @@ -11,134 +11,136 @@Functions + + ++ + ++ Functions
- GSAutoreleasedBuffer
- GSCGetInstanceVariableDefinition
- GSClassFromName
- GSClassList
- GSClassNameFromObject
- GSClassSwizzle
- GSCurrentThread
- GSCurrentThreadDictionary
- GSDebugFunctionMsg
- GSDebugMethodMsg
- GSDebugSet
- GSDefaultLanguageLocale
- GSDomainFromDefaultLocale
- GSEncodingForRegistry
- GSEncodingFromLocale
- GSFindNamedFile
- GSFlushMethodCacheForClass
- GSFromUnicode
- GSGetMethod
- GSIArrayAddItem
- GSIArrayAddItemNoRetain
- GSIArrayCapacity
- GSIArrayCheckSort
- GSIArrayClear
- GSIArrayCopyWithZone
- GSIArrayCount
- GSIArrayEmpty
- GSIArrayGrow
- GSIArrayGrowTo
- GSIArrayInitWithZoneAndCapacity
- GSIArrayInitWithZoneAndStaticCapacity
- GSIArrayInsertItem
- GSIArrayInsertItemNoRetain
- GSIArrayInsertSorted
- GSIArrayInsertSortedNoRetain
- GSIArrayInsertionPosition
- GSIArrayItemAtIndex
- GSIArrayItems
- GSIArrayLastItem
- GSIArrayRemoveAllItems
- GSIArrayRemoveItemAtIndex
- GSIArrayRemoveItemAtIndexNoRelease
- GSIArrayRemoveItemsFromIndex
- GSIArrayRemoveLastItem
- GSIArraySearch
- GSIArraySetItemAtIndex
- GSIMapAddKey
- GSIMapAddKeyNoRetain
- GSIMapAddNodeToBucket
- GSIMapAddNodeToMap
- GSIMapAddPair
- GSIMapAddPairNoRetain
- GSIMapBucketForKey
- GSIMapCleanMap
- GSIMapCountByEnumeratingWithStateObjectsCount
- GSIMapEmptyMap
- GSIMapEndEnumerator
- GSIMapEnumeratorBucket
- GSIMapEnumeratorForMap
- GSIMapEnumeratorNextNode
- GSIMapFirstNode
- GSIMapFreeNode
- GSIMapInitWithZoneAndCapacity
- GSIMapLinkNodeIntoBucket
- GSIMapMoreNodes
- GSIMapNodeForKey
- GSIMapNodeForKeyInBucket
- GSIMapNodeForSimpleKey
- GSIMapPickBucket
- GSIMapRemangleBuckets
- GSIMapRemoveAndFreeNode
- GSIMapRemoveKey
- GSIMapRemoveNodeFromBucket
- GSIMapRemoveNodeFromMap
- GSIMapRemoveWeak
- GSIMapResize
- GSIMapRightSizeMap
- GSIMapSize
- GSIMapUnlinkNodeFromBucket
- GSLanguageFromLocale
- GSLanguagesFromLocale
- GSLastErrorStr
- GSLocaleVariants
- GSNameFromClass
- GSNameFromSelector
- GSObjCAddClassBehavior
- GSObjCAddClassOverride
- GSObjCAddClasses
- GSObjCAddMethods
- GSObjCAllSubclassesOfClass
- GSObjCBehaviorDebug
- GSObjCClass
- GSObjCDirectSubclassesOfClass
- GSObjCFindVariable
- GSObjCGetInstanceVariableDefinition
- GSObjCGetVal
- GSObjCGetVariable
- GSObjCIsClass
- GSObjCIsInstance
- GSObjCIsKindOf
- GSObjCMakeClass
- GSObjCMethodNames
- GSObjCSetVal
- GSObjCSetVariable
- GSObjCSuper
- GSObjCVariableNames
- GSObjCVersion
- GSPrintf
- GSProtocolFromName
- GSProtocolGetMethodDescriptionRecursive
- GSRegisterProtocol
- GSSelectorFromName
- GSSelectorFromNameAndTypes
- GSSelectorTypesMatch
- GSSetLocale
- GSSetLocaleC
- GSSkipTypeQualifierAndLayoutInfo
- GSToUnicode
- GSTypesFromSelector
- GSUnicode
- _Block_copy
- _Block_release
- gs_consumed
- uni_cop
- uni_is_decomp
- uni_isnonsp
- uni_tolower
- uni_toupper
+ GSAutoreleasedBuffer
+ GSCGetInstanceVariableDefinition
+ GSClassFromName
+ GSClassList
+ GSClassNameFromObject
+ GSClassSwizzle
+ GSCurrentThread
+ GSCurrentThreadDictionary
+ GSDebugFunctionMsg
+ GSDebugMethodMsg
+ GSDebugSet
+ GSDefaultLanguageLocale
+ GSDomainFromDefaultLocale
+ GSEncodingForRegistry
+ GSEncodingFromLocale
+ GSFindNamedFile
+ GSFlushMethodCacheForClass
+ GSFromUnicode
+ GSGetMethod
+ GSIArrayAddItem
+ GSIArrayAddItemNoRetain
+ GSIArrayCapacity
+ GSIArrayCheckSort
+ GSIArrayClear
+ GSIArrayCopyWithZone
+ GSIArrayCount
+ GSIArrayEmpty
+ GSIArrayGrow
+ GSIArrayGrowTo
+ GSIArrayInitWithZoneAndCapacity
+ GSIArrayInitWithZoneAndStaticCapacity
+ GSIArrayInsertItem
+ GSIArrayInsertItemNoRetain
+ GSIArrayInsertSorted
+ GSIArrayInsertSortedNoRetain
+ GSIArrayInsertionPosition
+ GSIArrayItemAtIndex
+ GSIArrayItems
+ GSIArrayLastItem
+ GSIArrayRemoveAllItems
+ GSIArrayRemoveItemAtIndex
+ GSIArrayRemoveItemAtIndexNoRelease
+ GSIArrayRemoveItemsFromIndex
+ GSIArrayRemoveLastItem
+ GSIArraySearch
+ GSIArraySetItemAtIndex
+ GSIArraySize
+ GSIMapAddKey
+ GSIMapAddKeyNoRetain
+ GSIMapAddNodeToBucket
+ GSIMapAddNodeToMap
+ GSIMapAddPair
+ GSIMapAddPairNoRetain
+ GSIMapBucketForKey
+ GSIMapCleanMap
+ GSIMapCountByEnumeratingWithStateObjectsCount
+ GSIMapEmptyMap
+ GSIMapEndEnumerator
+ GSIMapEnumeratorBucket
+ GSIMapEnumeratorForMap
+ GSIMapEnumeratorNextNode
+ GSIMapFirstNode
+ GSIMapFreeNode
+ GSIMapInitWithZoneAndCapacity
+ GSIMapLinkNodeIntoBucket
+ GSIMapMoreNodes
+ GSIMapNodeForKey
+ GSIMapNodeForKeyInBucket
+ GSIMapNodeForSimpleKey
+ GSIMapPickBucket
+ GSIMapRemangleBuckets
+ GSIMapRemoveAndFreeNode
+ GSIMapRemoveKey
+ GSIMapRemoveNodeFromBucket
+ GSIMapRemoveNodeFromMap
+ GSIMapRemoveWeak
+ GSIMapResize
+ GSIMapRightSizeMap
+ GSIMapSize
+ GSIMapUnlinkNodeFromBucket
+ GSLanguageFromLocale
+ GSLanguagesFromLocale
+ GSLastErrorStr
+ GSLocaleVariants
+ GSNameFromClass
+ GSNameFromSelector
+ GSObjCAddClassBehavior
+ GSObjCAddClassOverride
+ GSObjCAddClasses
+ GSObjCAddMethods
+ GSObjCAllSubclassesOfClass
+ GSObjCBehaviorDebug
+ GSObjCClass
+ GSObjCDirectSubclassesOfClass
+ GSObjCFindVariable
+ GSObjCGetInstanceVariableDefinition
+ GSObjCGetVal
+ GSObjCGetVariable
+ GSObjCIsClass
+ GSObjCIsInstance
+ GSObjCIsKindOf
+ GSObjCMakeClass
+ GSObjCMethodNames
+ GSObjCSetVal
+ GSObjCSetVariable
+ GSObjCSuper
+ GSObjCVariableNames
+ GSObjCVersion
+ GSPathHandling
+ GSPrintf
+ GSProtocolFromName
+ GSProtocolGetMethodDescriptionRecursive
+ GSRegisterProtocol
+ GSSelectorFromName
+ GSSelectorFromNameAndTypes
+ GSSelectorTypesMatch
+ GSSetLocale
+ GSSetLocaleC
+ GSSkipTypeQualifierAndLayoutInfo
+ GSToUnicode
+ GSTypesFromSelector
+ GSUnicode
+ _Block_copy
+ _Block_release
+ gs_consumed
+ uni_cop
+ uni_is_decomp
+ uni_isnonsp
+ uni_tolower
+ uni_toupper
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GCObject.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/GCObject.gsdoc new file mode 100644 index 0000000..809052e --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/GCObject.gsdoc @@ -0,0 +1,373 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GCObject.html b/resources/documentation/Developer/BaseAdditions/Reference/GCObject.html index 1433d24..de6cd01 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/GCObject.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/GCObject.html @@ -16,6 +16,7 @@GCObject documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2002 Free Software Foundation, Inc. + + ++ + ++ Software documentation for the GCArray class + ++ +GNUstepBase/GCObject.h ++ Description forthcoming. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ ++ Software documentation for the GCDictionary class + ++ +GNUstepBase/GCObject.h ++ Description forthcoming. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ ++ Software documentation for the GCMutableArray class + ++ +GNUstepBase/GCObject.h ++ Description forthcoming. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ ++ Software documentation for the GCMutableDictionary + class + ++ +GNUstepBase/GCObject.h ++ Description forthcoming. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ ++ Software documentation for the GCObject class + ++ +GNUstepBase/GCObject.h ++ ++ The GCObject class is both the base class for all + garbage collected objects, and an infrastructure + for handling garbage collection. +
++ It maintains a list of all garbage collectable objects + and provides a method to run a garbage collection pass + on those objects. +
++ ++ Description forthcoming. + ++ +gcCollectGarbage ++ ++ This method runs a garbage collection, causing + unreferenced objects to be deallocated. This + is done using a simple three pass algorithm - +
++ +Pass 1 ++ All the garbage collectable objects are sent a + -gcDecrementRefCountOfContainedObjects message. + +Pass 2 ++ All objects having a refCount greater than 0 are + sent an + -gcIncrementRefCountOfContainedObjects message. + +Pass 3 ++ All the objects that still have the refCount of 0 + are part of cyclic graphs and none of the objects + from this graph are held by some object outside + graph. These objects receive the + + -dealloc + + message. In this method they should send the + + -dealloc + + message to any garbage collectable (GCObject + and subclass) instances they contain. + ++ During garbage collection, the + + +gcIsCollecting + + method returns
+YES
. ++ +gcIsCollecting ++ Returns a flag to indicate whether a garbage + collection is in progress. + ++ +gcObjectWillBeDeallocated: +anObject ++ Called to remove anObject from the list + of garbage collectable objects. +
This method is + provided so that classes which are not subclasses + of GCObject (but which have the same initial instance + variable layout) can use multiple inheritance + (behaviors) to act as GCObject instances, but + can have their own + + -dealloc + + methods.
These classes should call this in + their own + + -dealloc + + methods. ++ +gcDecrementRefCount ++ Decrements the garbage collection reference + count for the receiver. +
++ +gcDecrementRefCountOfContainedObjects ++ ++ Marks the receiver as not having been visited in + the current garbage collection process (first pass of + collection). +
++ All container subclasses should override this method + to call the super implementation then decrement the + ref counts of their contents as well as sending the + -gcDecrementRefCountOfContainedObjects message to each of them. +
++ +gcIncrementRefCount ++ Increments the garbage collection reference + count for the receiver. +
++ +gcIncrementRefCountOfContainedObjects ++ ++ Checks to see if the receiver has already been + visited in the current garbage collection + process, and either marks the receiver as + visited (and returns
+YES
) or returns +NO
to indicate that it had already + been visited. ++ All container subclasses should override this method + to call the super implementation then, if the method + returns
+YES
, increment the reference + count of any contained objects and send the + -gcIncrementRefCountOfContainedObjects to each of the contained objects too. ++ + ++ Software documentation for the GCObject(Extra) + category + ++ +GNUstepBase/GCObject.h ++ This category implements accessor methods for the + instance variables used for garbage collecting. + If/when we can ensure that all garbage collecting + classes use the same initial ivar layout, we can + remove these methods and the garbage collector can + access the ivars directly, making a pretty big + performance improvement during collecting. +
+ NB. These methods must *only* be used by the garbage + collecting process or in methods called from the + garbage collector. Anything else is not thread-safe. ++ +gcAlreadyVisited ++ Description forthcoming. + ++ +gcNextObject ++ Description forthcoming. + ++ +gcPreviousObject ++ Description forthcoming. + ++ +gcSetNextObject: +anObject ++ Description forthcoming. + ++ +gcSetPreviousObject: +anObject ++ Description forthcoming. + ++ +gcSetVisited: +flag ++ Description forthcoming. + +Authors
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2002 Free Software Foundation, Inc.
During garbage collection, the - + +gcIsCollecting @@ -475,7 +476,7 @@
@@ -594,7 +595,7 @@
YES
, increment the reference
count of any contained objects and send the
- -gcIncrementRefCountOfContainedObjects
+ -gcIncrementRefCountOfContainedObjects
to each of the contained objects too.
@@ -622,7 +623,7 @@
- Declared in:
@@ -648,12 +649,12 @@-gcAlreadyVisited -
-gcNextObject --gcPreviousObject --gcSetNextObject: --gcSetPreviousObject: --gcSetVisited: +-gcAlreadyVisited +-gcNextObject +-gcPreviousObject +-gcSetNextObject: +-gcSetPreviousObject: +-gcSetVisited:
@@ -671,7 +672,7 @@gcAlreadyVisited
gcNextObject
- - (GCObject*) gcNextObject;
+ - (GCObject*) gcNextObject;
Availability: OpenStep
@@ -684,7 +685,7 @@gcNextObject
gcPreviousObject
- - (GCObject*) gcPreviousObject;
+ - (GCObject*) gcPreviousObject;
Availability: OpenStep
@@ -697,7 +698,7 @@gcPreviousObject
gcSetNextObject:
- - (GCObject*) gcSetNextObject: (GCObject*)anObject;
+ - (GCObject*) gcSetNextObject: (GCObject*)anObject;
Availability: OpenStep
@@ -710,7 +711,7 @@gcSetNextObject:
gcSetPreviousObject:
- - (GCObject*) gcSetPreviousObject: (GCObject*)anObject;
+ - (GCObject*) gcSetPreviousObject: (GCObject*)anObject;
Availability: OpenStep
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSLock.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/GSLock.gsdoc new file mode 100644 index 0000000..38536d5 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/GSLock.gsdoc @@ -0,0 +1,98 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSLock.html b/resources/documentation/Developer/BaseAdditions/Reference/GSLock.html index d2b76c3..dacb83f 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/GSLock.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/GSLock.html @@ -16,8 +16,7 @@GSLock documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003 Free Software Foundation, Inc. + + ++ + ++ Software documentation for the GSLazyLock class + ++ +GNUstepBase/GSLock.h ++ This implements a class which, when used in + single-threaded mode, acts like a lock while + avoiding the overheads of actually using a real + lock. However, when the programm in which the class is + used becomes multi-threaded, all instances of this class + transform themselves into real locks in the correct + state (locked/unlocked) corresponding to whether the + lazy lock was locked or not at the point where the + program became multi threadeed. +
Use of this + class allows you to write thread-safe code which avoids + locking inefficiencies when used in a single threaded + application, without having to worry about + dealing with the issue yourself. ++ ++ Description forthcoming. + ++ +_becomeThreaded: +n ++ Warning the underscore at the start of the + name of this method indicates that it is private, for + internal use only, and you should not use the + method in your code. +
Do not use this method + ... it is used internally to handle the transition from + a single threaded system to a multi threaded one. ++ + ++ Software documentation for the GSLazyRecursiveLock + class + ++ +GNUstepBase/GSLock.h ++ This implements a class which, when used in + single-threaded mode, acts like a recursive + lock while avoiding the overheads of using a real lock. + However, when the programm in which the class is + used becomes multi-threaded, all instances of this class + transform themselves into real locks in the correct + state (locked/unlocked) corresponding to whether the + lazy recursive lock was locked or not at the point where + the program became multi threadeed. +
Use of this + class allows you to write thread-safe code which avoids + locking inefficiencies when used in a single threaded + application, without having to worry about + dealing with the issue yourself. ++ ++ Description forthcoming. + ++ +_becomeThreaded: +n ++ Warning the underscore at the start of the + name of this method indicates that it is private, for + internal use only, and you should not use the + method in your code. +
Do not use this method + ... it is used internally to handle the transition from + a single threaded system to a multi threaded one. +Authors
- Version: 33621
-Date: 2011-07-24 07:09:22 -0600 (Sun, 24 Jul 2011)
+Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003 Free Software Foundation, Inc.
@@ -70,7 +69,7 @@GSLazyLock : NSLock
Method summary
@@ -142,7 +141,7 @@GSLazyRecursiveLock : NSRecursiveLoc
Method summary
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSMime.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/GSMime.gsdoc new file mode 100644 index 0000000..8f1c559 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/GSMime.gsdoc @@ -0,0 +1,2097 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSMime.html b/resources/documentation/Developer/BaseAdditions/Reference/GSMime.html index cde4654..57fa960 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/GSMime.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/GSMime.html @@ -16,9 +16,8 @@The MIME parsing system ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2000-2016 Free Software Foundation, Inc. + + ++ + +Mime Parser ++ The GNUstep Mime parser. This is collection Objective-C + classes for representing MIME (and HTTP) documents and + managing conversions to and from convenient internal + formats. +
++ The idea is to center round two classes - +
++ +document ++ A container for the actual data (and headers) of a + mime/http document, this is also used to create raw + MIME data for sending. + +parser ++ An object that can be fed data and will parse it into a + document. This object also provides various utility + methods and an API that permits overriding in order + to extend the functionality to cope with new document + types. + ++ ++ Software documentation for the GSMimeCodingContext + class + ++ +GNUstepBase/GSMime.h ++ Coding contexts are objects used by the parser to + store the state of decoding incoming data while it is + being incrementally parsed. +
The most rudimentary + context... this is used for decoding plain text and + binary data (ie data which is not really decoded at + all) and all other decoding work is done by a subclass. ++ ++ Description forthcoming. + ++ +atEnd ++ Returns the current value of the 'atEnd' flag. + ++ +decodeData: +sData +length: +length +intoData: +dData ++ Decode length bytes of data from + sData and append the results to + dData. +
ReturnYES
on + success,NO
if there is an error. ++ +setAtEnd: +flag ++ Sets the current value of the 'atEnd' flag. + ++ ++ Software documentation for the GSMimeDocument class + ++ +GNUstepBase/GSMime.h +NSCopying ++ ++ This class is intended to provide a wrapper for MIME + messages permitting easy access to the contents of + a message and providing a basis for parsing an unparsing + messages that have arrived via email or as a web + document. +
++ The class keeps track of all the document headers, and + provides methods for modifying and examining the + headers that apply to a document. +
++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +charsetForXml: +xml ++ Description forthcoming. + ++ +charsetFromEncoding: +enc ++ Return the MIME characterset name corresponding to + the specified string encoding. +
As a special + case, returns "us-ascii" if enc is zero. +
Returnsnil
if enc + cannot be mapped to a charset.
NB. The + correspondence between charsets and + encodings is not a direct one to one mapping, so + successive calls to + + +encodingFromCharset: + + and + + +charsetFromEncoding: + + may not produce the original input. ++ +decodeBase64: +source ++ Decode the source data from base64 + encoding and return the result. +
The + source data is expected to be ASCII text + and may be multiple lines or a line of any length + (decoding is very tolerant). ++ +decodeBase64String: +source ++ Converts the base64 encoded data in + source to a decoded ASCII or UTF8 string + using the + + +decodeBase64: + + method. If the encoded data does not represent an + ASCII or UTF8 string, you should use the + + +decodeBase64: + + method directly. + ++ +documentWithContent: +newContent +type: +type +name: +name ++ Convenience method to return an autoreleased + document using the specified content, + type, and name value. This + calls the + + -setContent:type:name: + + method to set up the document. + ++ +encodeBase64: +source ++ Encode the source data to base64 encoding + and return the result. +
The resulting data is + ASCII text and contains only the base64 encoded + values with no line breaks or extraneous data. This + is base64 encoded data in it's general format as + mandated in RFC 3548. If the data is to be used as + part of a MIME document body, line breaks must be + introduced at 76 byte intervals (GSMime does + this when automatically encoding data for you). If the + data is to be used in a PEM document line breaks must + be introduced at 74 byte intervals. ++ +encodeBase64String: +source ++ Converts the ASCII or UTF8 string + source into base64 encoded data using the + + +encodeBase64: + + method. If the original data is not an ASCII or + UTF8 string, you should use the + + +encodeBase64: + + method directly. + ++ +encodingFromCharset: +charset ++ Return the string encoding corresponding to the + specified MIME characterset name. +
As a + special case, returns NSASCIIStringEncoding if + charset isnil
.
+ Returns 0 if charset cannot be found. +
NB. We treat iso-10646-ucs-2 as utf-16, which + should work for most text, but is not strictly + correct.
The correspondence between + charsets and encodings is not a direct one to one + mapping, so successive calls to + + +encodingFromCharset: + + and + + +charsetFromEncoding: + + may not produce the original input. ++ +addContent: +newContent ++ Adds a part to a multipart document + ++ +addHeader: +info ++ ++ This method may be called to add a header to the + document. The header must be a mutable + dictionary object that contains at least the + fields that are standard for all headers. +
++ Certain well-known headers are restricted to one + occurrence in an email, and when extra copies + are added they replace originals. +
++ The mime-version header is special... it is inserted + before any other mime headers rather than being + added at the end. +
++ +addHeader: +name +value: +value +parameters: +parameters ++ Convenience method to create a new header and + add it to the receiver. +
Returns the newly + created header.
See + [GSMimeHeader -initWithName:value:parameters:] and -addHeader: methods. ++ +allHeaders ++ ++ This method returns an array containing GSMimeHeader + objects representing the headers associated with + the document. +
++ The order of the headers in the array is the order of + the headers in the document. +
++ +content ++ This returns the content data of the document in the + same format in which the data was placed in the + document. This may be one of - + ++ + If you want to be sure that you get a particular type of + data, use the + + -convertToData + + or + + -convertToText + + method. +text an NSString object +binary an NSData object +multipart ++ an NSArray object containing GSMimeDocument objects + ++ +contentByID: +key ++ Search the content of this document to locate a part + whose content ID matches the specified key + . Recursively descend into other documents. +
Wraps + the supplied key in angle brackets if they + are not present.
Returnnil
if no + match is found, the matching GSMimeDocument + otherwise. ++ +contentByLocation: +key ++ Search the content of this document to locate a part + whose content ID matches the specified key + . Recursively descend into other documents. +
Wraps + the supplied key in angle brackets if they + are not present.
Returnnil
if no + match is found, the matching GSMimeDocument + otherwise. ++ +contentByName: +key ++ Search the content of this document to locate a part + whose content-type name or content-disposition name + matches the specified key. Recursively + descend into other documents. +
Return +nil
if no match is found, the matching + GSMimeDocument otherwise. ++ +contentFile ++ Convenience method to fetch the content file + name from the content-type or content-disposition + header. + ++ +contentID ++ Convenience method to fetch the content ID from + the header. + ++ +contentLocation ++ Convenience method to fetch the content + location from the header. + ++ +contentName ++ Convenience method to fetch the content name + from the header. + ++ +contentSubtype ++ Convenience method to fetch the content + sub-type from the header. + ++ +contentType ++ Convenience method to fetch the content type + from the header. + ++ +contentsByName: +key ++ Search the content of this document to locate all + parts whose content-type name or content-disposition + name matches the specified key. Do + NOT recurse into other documents. +
+ Returnnil
if no match is found, an + array of matching GSMimeDocument instances otherwise. ++ +convertTo7BitSafe ++ Converts any binary parts of the receiver's + content to be base64 (or quoted-printable for text + parts) encoded rather than 8bit or binary encoded... + a convenience method to make the results of the + + -rawMimeData + + method safe for sending via routes which only + support 7bit data. + ++ +convertToBase64 ++ Description forthcoming. + ++ +convertToBinary ++ Converts any base64 (or quoted-printable) encoded + parts of the receiver's content to be binary encoded + instead... a convenience method to shrink down the + size of the message when converted to data using the + + -rawMimeData + + method. + ++ +convertToData ++ Return the content as an NSData object (unless it is + multipart) +
Perform conversion from text + to data using the charset specified in the content-type + header, or infer the charset, and update the header + accordingly.
If the content can not be + represented as a plain NSData object, this + method returnsnil
. ++ +convertToText ++ Return the content as an NSString object (unless it + is multipart) If the content cannot be represented as + text, this returns +nil
. ++ +copyWithZone: +z ++ Returns a copy of the receiver. + ++ +deleteContent: +aPart ++ Deletes all ocurrances of parts identical to + aPart from the receiver. +
+ Recursively deletes from enclosed documents as + necessary. ++ +deleteHeader: +aHeader ++ This method removes all occurrences of header objects + identical to the one supplied as an argument. + ++ +deleteHeaderNamed: +name ++ This method removes all occurrences of headers whose + name matches the supplied string. + ++ +estimatedSize ++ How big this document might be when represented as raw + MIME data. + ++ +headerNamed: +name ++ This method returns the first header whose + name equals the supplied argument. + ++ +headersNamed: +name ++ This method returns an array of GSMimeHeader objects + for all headers whose names equal the supplied + argument. + ++ +makeBoundary ++ ++ Make a probably unique string suitable for use as + the boundary parameter in the content of a multipart + document. +
++ This implementation provides base64 encoded data + consisting of an MD5 digest of some pseudo + random stuff, plus an incrementing counter. The + inclusion of the counter guarantees that we + won't produce two identical strings in the same run + of the program. +
++ The boundary has a suffix of '=_' to ensure it's not + mistaken for quoted-printable data. +
++ +makeContentID ++ Create new content ID header, set it as the content + ID of the document and return it. +
This is a + convenience method which simply places angle + brackets around an + [NSProcessInfo -globallyUniqueString] to form the header value. ++ +makeHeader: +name +value: +value +parameters: +parameters ++ Deprecated... use + + -setHeader:value:parameters: + + ++ +makeMessageID ++ Create new message ID header, set it as the message + ID of the document and return it. +
This is a + convenience method which simply places angle + brackets around an + [NSProcessInfo -globallyUniqueString] to form the header value. ++ +rawMimeData ++ Return an NSData object representing the MIME + document as raw data ready to be sent via an email + system. +
Calls + + -rawMimeData: + + with the isOuter flag set toYES
. ++ +rawMimeData: +isOuter ++ ++ Return an NSData object representing the MIME + document as raw data ready to be sent via an + email system. +
++ The isOuter flag denotes whether this + document is the outermost part of a MIME + message, or is a part of a multipart message. +
++ Long lines are folded at the default column. +
++ +rawMimeData: +isOuter +foldedAt: +fold ++ ++ Return an NSData object representing the MIME + document as raw data ready to be sent via an + email system. +
++ The isOuter flag denotes whether this + document is the outermost part of a MIME + message, or is a part of a multipart message. +
++ The fold number specifes the column at + which lines are considered to be 'long', and get + broken/folded. +
++ During generation of the document this method will + perform some consistency checks and try to + automatically generate missing header + information needed to build the mime data + (eg. filling in the boundary parameter in the + content-type header for multipart + documents).
+
However, you should not + depend on automatic behaviors but should fill in + as much detail as possible before generating data. ++ +setContent: +newContent ++ Sets a new value for the content of the document. + ++ +setContent: +newContent +type: +type ++ Convenience method calling + + -setContent:type:name: + + to set document content and type with a + +nil
value for name... useful for + top-level documents rather than parts within a + document (parts should really be named). ++ +setContent: +newContent +type: +type +name: +name ++ ++ Convenience method to set the content of the + document along with creating a content-type + header for it. +
++ The type parameter may be a simple common + content type (text, multipart, or + application), in which case the default + subtype for that type is used. + Alternatively it may be full detail of a + content type header value, which will + be parsed into 'type', 'subtype' and 'parameters'. +
+
NB. In this case, if the parsed data + contains a 'name' parameter and the + name argument is non-nil, the argument + value will override the parsed value. ++ You can get the same effect by calling + + -setContent: + + to set the document content, then creating a + GSMimeHeader + instance, initialising it with the content + type information you want using + [GSMimeHeader -initWithName:value:parameters:], and calling the -setHeader: method to attach it to the document. +
++ Using this method imposes a few extra checks and + restrictions on the combination of content + and type/subtype you may use... so you may want to + use the more primitive methods in order to bypass + these checks if you are using unusual + type/subtype information or if you need to + provide additional parameters in the header. +
++ +setContentType: +newType ++ ++ Convenience method to set the content type of + the document without altering any content. The + supplied newType may be full type + information including subtype and parameters + as found after the colon in a mime Content-Type + header. +
++ +setHeader: +info ++ This method may be called to set a header in the + document. Any other headers with the same name + will be removed from the document. + ++ +setHeader: +name +value: +value +parameters: +parameters ++ Convenience method to create a new header and + add it to the receiver replacing any existing header of + the same name. +
Returns the newly + created header.
See + [GSMimeHeader -initWithName:value:parameters:] and -setHeader: methods. ++ ++ Software documentation for the GSMimeHeader class + ++ +GNUstepBase/GSMime.h +NSCopying ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +headerWithName: +n +value: +v +parameters: +p ++ Description forthcoming. + ++ +makeQuoted: +v +always: +flag ++ Makes the value into a quoted string if necessary (ie + if it contains any special / non-token characters). If + flag is +YES
then the value is + made into a quoted string even if it does not contain + special characters. ++ +makeToken: +t ++ Convert the supplied string to a standardized token + by making it lowercase and removing all illegal + characters. + ++ +makeToken: +t +preservingCase: +preserve ++ Convert the supplied string to a standardized token + by removing all illegal characters. If + preserve is +NO
then the + result is converted to lowercase.
Returns an + autoreleased (and possibly modified) copy of + the original. ++ +copyWithZone: +z ++ Description forthcoming. + ++ +estimatedSize ++ How big this header might be when represented as raw + MIME data. + ++ +fullValue ++ Returns the full value of the header including any + parameters and preserving case. This is an + unfolded (long) line with no + escape sequences (ie contains a unicode string not + necessarily plain ASCII). +
If you just + want the plain value excluding any parameters, use the + + -value + + method instead. ++ +initWithName: +n +value: +v ++ Convenience method calling + + -initWithName:value:parameters: + + with the supplied argument and +nil
+ parameters. ++ +initWithName: +n +value: +v +parameters: +p ++ Initialise a GSMimeHeader supplying a name, a + value and a dictionary of any parameters occurring + after the value. + ++ +name ++ Returns the name of this header... a lowercase + string. + ++ +namePreservingCase: +preserve ++ Returns the name of this header as originally set + (without conversion to lowercase) if + preserve is +YES
, but as a + lowercase string if preserve is +NO
. ++ +objectForKey: +k ++ Return extra information specific to a particular + header type. + ++ +objects ++ Returns a dictionary of all the additional objects + for the header. + ++ +parameterForKey: +k ++ Return the named parameter value. + ++ +parameters ++ Returns the parameters of this header... a + dictionary whose keys are all lowercase strings, + and whose values are strings which may contain mixed + case. + ++ +parametersPreservingCase: +preserve ++ Returns the parameters of this header... a + dictionary whose keys are strings preserving the + case originally used to set the values or all + lowercase depending on the preserve + argument. + ++ +rawMimeData ++ Returns the full text of the header, built from its + component parts, and including a terminating + CR-LF + ++ +rawMimeDataPreservingCase: +preserve ++ Description forthcoming. + ++ +rawMimeDataPreservingCase: +preserve +foldedAt: +fold ++ Returns the full text of the header, built from its + component parts, and including a terminating + CR-LF. +
If preserve is +YES
then we attempt to build the text + using the same case as it was originally parsed/set + from, otherwise we use common conventions of + capitalising the header names and using + lowercase parameter names.
If + fold is greater than zero, lines with more + than the specified number of characters are considered + 'long' and are folded into multiple lines. ++ +rawMimeDataPreservingCase: +preserve +foldedAt: +fold +to: +md ++ Description forthcoming. + ++ +setObject: +o +forKey: +k ++ Method to store specific information for particular + types of header. This is used for non-standard parts + of headers. +
Setting anil
value for + o will remove any existing value set using + the k as its key. ++ +setParameter: +v +forKey: +k ++ Sets a parameter of this header... converts name to + lowercase and removes illegal characters. +
+ If anil
parameter name is supplied, + removes any parameter with the specified key. ++ +setParameters: +d ++ Sets all parameters of this header... converts names + to lowercase and removes illegal characters from them. + ++ +setValue: +s ++ Sets the value of this header (without changing + parameters). +
If given a +nil
argument, set an empty string + value. ++ +text ++ Returns the full text of the header, built from its + component parts, and including a terminating + CR-LF + ++ +value ++ Returns the value of this header (excluding any + parameters). +
Use the + + -fullValue + + method if you want parameter included. ++ ++ Software documentation for the GSMimeParser class + ++ +GNUstepBase/GSMime.h ++ ++ This class provides support for parsing MIME messages + into GSMimeDocument objects. Each parser object + maintains an associated document into which data + is stored. +
++ You supply the document to be parsed as one or more + data items passed to the + + -parse: + + method, and (if the method always returns +
+YES
, you give it a final +nil
argument to mark the end of the + document. ++ On completion of parsing a valid document, the + [GSMimeParser -mimeDocument] method returns the resulting parsed document. +
++ If you need to parse faulty documents (eg where a faulty + mail client has produced an email which does not + conform to the MIME standards), you should look at + the + + -setBuggyQuotes: + + and + + -setDefaultCharset: + + methods, which are designed to cope with the most + common faults. +
++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +documentFromData: +mimeData ++ Convenience method to parse a single data item + as a MIME message and return the resulting document. + ++ +mimeParser ++ Create and return a parser. + ++ +contextFor: +info ++ Return a coding context object to be used for + decoding data according to the scheme specified in + the header. + ++ The default implementation supports the following + transfer encodings specified in either a +
+transfer-encoding
of +content-transfer-encoding
header - ++
+ To add new coding schemes to the parser, you need to + override this method to return a new coding + context for your scheme when the info + argument indicates that this is appropriate. +- base64
- quoted-printable
+- binary (no coding actually performed)
+- 7bit (no coding actually performed)
+- 8bit (no coding actually performed)
+- chunked (for HTTP/1.1)
+- x-uuencode
++ +data ++ Return the data accumulated in the parser. If the + parser is still parsing headers, this will be the + header data read so far. If the parse has parsed the + body of the message, this will be the data of the + body, with any transfer encoding removed. + ++ +decodeData: +sData +fromRange: +aRange +intoData: +dData +withContext: +con ++ ++ Decodes the raw data from the specified range in + the source data object and appends it to the + destination data object. The context object + provides information about the content encoding + type in use, and the state of the decoding + operation. +
++ This method may be called repeatedly to + incrementally decode information as it + arrives on some communications channel. It should + be called with a
+nil
source data item (or + with the atEnd flag of the context set to +YES
) in order to flush any + information held in the context to the output + data object. ++ You may override this method in order to implement + additional coding schemes, but usually it + should be enough for you to implement a custom + GSMimeCodingContext subclass fotr + this method to use. +
+ Correct the size of the output buffer (shrink back + from the original allocation to the actual unchunked + size). ++ +excess ++ If there was more data passed to the parser than + actually needed to form the document, this method + returns that excess data, othrwise it returns + +nil
. ++ +expectNoHeaders ++ This method may be called to tell the parser that it + should not expect to parse any headers, and that the + data it will receive is body data. +
If the parse + is already in the body, or is complete, this method has + no effect.
This is for use when some other + utility has been used to parse headers, and you + have set the headers of the document owned by the + parser accordingly. You can then use the + GSMimeParser to read the body data into the + document. ++ +isComplete ++ Returns +YES
if the document parsing is + known to be completed successfully. Returns +NO
if either more data is needed, or if + the parser encountered an error. ++ +isHttp ++ Returns +YES
if the parser is parsing + an HTTP document rather than a true MIME document. ++ +isInBody ++ Returns +YES
if all the document + headers have been parsed but the document body + parsing may not yet be complete. ++ +isInHeaders ++ Returns +YES
if parsing of the document + headers has not yet been completed. ++ +mimeDocument ++ Returns the GSMimeDocument instance into which data + is being parsed or has been parsed. + ++ +parse: +d ++ ++ This method is called repeatedly to pass raw mime + data into the parser. It returns
+YES
as + long as it wants more data to + complete parsing of a document, and +NO
if parsing is complete, either due + to having reached the end of a document or due to an + error. ++ Since it is not always possible to determine if the + end of a MIME document has been reached from its + content, the method may need to be called with a +
+nil
or empty argument after you have + passed all the data to it... this tells it that + the data is complete. ++ The parser attempts to be as flexible as possible and + to continue parsing wherever it can. If an error + occurs in parsing, the + + -isComplete + + method will always return
+NO
, even + after the + + -parse: + + method has been called with anil
+ argument. ++ A multipart document will be parsed to content + consisting of an NSArray of GSMimeDocument + instances representing each part.
+
+ Otherwise, a document will become content of + type NSData, unless it is of content type + text, in which case it will be an NSString. +
If a document has no content type + specified, it will be treated as text + , unless it is identifiable as a file (eg. t + has a content-disposition header containing a + filename parameter). ++ +parseHeader: +aHeader ++ ++ This method is called to parse a header line + for the current document, split its + contents into a GSMimeHeader object, and add + that information to the document.
+
The method + is normally used internally by the + + -parse: + + method, but you may also call it to parse an + entire header line and add it to the document + (this may be useful in conjunction with the + + -expectNoHeaders + + method, to parse a document body data into a + document where the headers are available from a + separate source). ++ GSMimeParser *parser = [GSMimeParser mimeParser]; + + [parser parseHeader: @"content-type: text/plain"]; + [parser expectNoHeaders]; + [parser parse: bodyData]; + [parser parse: nil]; + ++ The standard implementation of this method scans the + header name and then calls + + -scanHeaderBody:into: + + to complete the parsing of the header. +
++ This method also performs consistency checks on + headers scanned so it is recommended that it is + not overridden, but that subclasses override + + -scanHeaderBody:into: + + to implement custom scanning. +
++ As a special case, for HTTP support, this method also + parses lines in the format of HTTP responses as if + they were headers named
+http
. The + resulting header object contains additional + object values - ++ +HttpMajorVersion +The first part of the version number +HttpMinorVersion +The second part of the version number +NSHTTPPropertyServerHTTPVersionKey +The full HTTP protocol version number +NSHTTPPropertyStatusCodeKey +The HTTP status code (numeric) +NSHTTPPropertyStatusReasonKey ++ The text message (if any) after the status code + ++ +parseHeaders: +d +remaining: +body ++ Parses headers from the supplied data returning + +YES
if more data is needed before the + end of thge headers are reached.
If + body is not NULL and the end of the + headers were reached leaving some unused data, that + remaining data is returned.
NB. The + returned data is a reference to part of the + original memory buffer provided in d, + so you must copy it if you intend to use it after + modifying or deallocating the original data. ++ +scanHeaderBody: +scanner +into: +info ++ ++ This method is called to parse a header line and + split its contents into the supplied + GSMimeHeader + instance. +
++ On entry, the header (info) is already + partially filled, the name is a lowercase + representation of the header name. The + the scanner must be set to a scan + location immediately after the colon in the + original header string (ie to the header value + string). +
++ If the header is parsed successfully, the method + should return
+YES
, otherwise +NO
. ++ You would not normally call this method directly + yourself, but may override it to support + parsing of new headers.
+
If you do call + this yourself, you need to be aware that it may + change the state of the document in the parser. ++ You should be aware of the parsing that the + standard implementation performs, and that + needs to be done for certain headers in + order to permit the parser to work generally - +
++ +content-disposition ++ ++ +Value ++ The content disposition (excluding + parameters) as a lowercase string. + +content-type ++ ++ +Subtype +The MIME subtype lowercase +Type +The MIME type lowercase +value ++ The full MIME type (xxx/yyy) in lowercase + +content-transfer-encoding ++ ++ +Value ++ The transfer encoding type in lowercase + +http ++ ++ +HttpVersion ++ The HTTP protocol version number + +HttpMajorVersion ++ The first component of the version number + +HttpMinorVersion ++ The second component of the version number + +HttpStatus ++ The response status value (numeric code) + +Value +The text message (if any) +transfer-encoding ++ ++ +Value ++ The transfer encoding type in lowercase + ++ +scanName: +scanner ++ A convenience method to use a scanner (that is + set up to scan a header line) to scan a name - a simple + word. + ++
+- Leading whitespace is ignored.
++ +scanPastSpace: +scanner ++ A convenience method to scan past any whitespace in the + scanner in preparation for scanning + something more interesting that comes after it. + Returns +YES
if any space was read, +NO
otherwise. ++ +scanSpecial: +scanner ++ A convenience method to use a scanner (that is + set up to scan a header line) to scan in a special + character that terminated a token previously + scanned. If the token was terminated by whitespace + and no other special character, the string returned + will contain a single space character. + ++ +scanToken: +scanner ++ A convenience method to use a scanner (that is + set up to scan a header line) to scan a header token - + either a quoted string or a simple word. + ++
+- Leading whitespace is ignored.
+- + Backslash escapes in quoted text are + converted +
++ +setBuggyQuotes: +flag ++ Method to inform the parser that the data it is + parsing is likely to contain fields with buggy use + of backslash quotes... and it should try to be tolerant + of them and treat them as is they were escaped + backslashes. This is for use with things like + microsoft internet explorer, which puts the + backslashes used as file path separators in + parameters without quoting them. + ++ +setDefaultCharset: +aName ++ This is a method to inform the parser that body parts + with no content-type header (which are treated as + text/plain) should use the specified + characterset rather than the default + (us-ascii). +
This also controls the + parsing of headers... in a legal MIME document + these must consist solely of us-ascii characters, but + setting a different default characterset (such as + latin1) will permit many illegal header lines + (produced by faulty mail clients) to be parsed. +
HTTP requests use headers in the latin1 + characterset, so this is the header line + characterset used most commonly by faulty + clients. ++ +setHeadersOnly ++ Method to inform the parser that only the headers + should be parsed and any remaining data be treated + as excess + ++ +setIsHttp ++ Method to inform the parser that the data it is + parsing is an HTTP document rather than true MIME. + This method is called internally if the parser detects + an HTTP response line at the start of the headers it is + parsing. + ++ ++ Software documentation for the GSMimeSMTPClient class + ++ +GNUstepBase/GSMime.h ++ The GSMimeSMTPClient class provides the ability to send + EMails ([GSMimeDocument] instances) via an SMTP + server. + ++ +abort ++ Shut down any message send in progress and abort any + queued messages. + ++ +delegate ++ Returns the current delegate. + ++ +flush: +limit ++ Tries to flush any queued messages to the SMTP + server, completing by the specified + limit date. +
If limit is +nil
then a date in the distant future + is used.
If the queue is emptied in time, this + method returnsYES
, otherwise it + returnsNO
. ++ +lastError ++ Returns the last error encountered, or + +nil
if there is none recorded. ++ +queueSize ++ Returns the number of messages currently in the + queue. + ++ +send: +message ++ Add the message to the queue of emails to be + sent by the receiver. + ++ +send: +message +envelopeID: +envid ++ Add the message to the queue of emails to be + sent by the receiver. +
Also adds an envelope ID + string to be used to uniquely identify the + message for delivery receipting purposes. +
For this to work, the SMTP gateway being used + must support the SMTP service extension for delivery + status notification (RFC 3460). ++ +setDelegate: +d ++ Set the delegate to receive callback methods indicating + when a message is sent, failed, or removed from the + queue unsent. + ++ +setHostname: +s ++ Set the host for the SMTP server. If this is not set + (or is set to +nil
) then the + GSMimeSMTPClientHost user default is + used. If the host isnil
or an empty + string then 'localhost' is used. ++ +setIdentity: +s ++ Set the host for the SMTP client to identify itsself to + the server. If this is not set (or is set to + +nil
) then the GSMimeSMTPClientIdentity + user default is used. If the identity is +nil
or an empty string then a name of + the current host is use. ++ +setMaximum: +m ++ Sets the maximum number of messages which may remain + in the queue. If this is exceeded then any unsuccessful + send attempt results in excess queued messages + discarded as unsent. +
The method returns + the previous setting. ++ +setOriginator: +s ++ Set the originator for any emails sent by the SMTP + client. +
This overrides the value in the + 'from' header of an email.
If this is not set + (or is set tonil
) then the + GSMimeSMTPClientOriginator user + default is used. If the originator is +nil
or an empty string then the value + in the 'from' header of the email is used. ++ +setPort: +s ++ Set the port for the SMTP server. If this is not set + (or is set to +nil
) then the + GSMimeSMTPClientPort user default is + used. If the port is not an integer in the 1-65535 + range, then '25' (the default SMTP port) is used. ++ +setUsername: +s ++ Set the username for authentication to the SMTP server. + If this is not set (or is set to +nil
) then + the GSMimeSMTPClientUsername user default is used. If + the username isnil
or an empty string + then authentication is not attempted. ++ +state ++ returns the receivers current state. + ++ +stateDesc ++ Returns a string describing the receiver's current + state + ++ ++ Software documentation for the GSMimeSerializer class + ++ +GNUstepBase/GSMime.h +NSCopying ++ Instances of the GSMimeSerializer class are used to + serialise GSMimeDocument objects to NSMutableData + objects, producing data in a form suitable for + sending as an Email over the SMTP protocol or in + other forms. + ++ ++ To make 8bit data 7bit-safe + ++ ++ Fold long lines at this position + ++ ++ To make 8bit text 7bit-safe + ++ ++ Output does not need to be 7bit-safe + ++ +binarySerializer ++ Returns an autorelease GSMimeSerializer configured + for transfer over binary safe protocols with unliumited + line lenth). + ++ +smtp7bitSerializer ++ Returns an autorelease GSMimeSerializer configured + for Email to be sent as 7bit data over SMTP. + ++ +copyWithZone: +aZone ++ Returns a copy of the receiver. + ++ +dataEncoding ++ Returns the default content transfer encoding used + when 8bit data needs to be made 7bit safe. This is + base64 by default. + ++ +encodeDocument: +document ++ Encodes the document and returns the + resulting raw mime data. + ++ +encodePart: +document +to: +md ++ Appends a document part to the supplied + data object. + ++ +foldAt ++ Returns the maximum line length (excluding the + trailing CRLF) to which we will encode data. See + also the + + -setFoldAt: + + method. + ++ +setDataEncoding: +encoding ++ Sets the content transfer encoding used + when 8bit data needs to be sent in a 7bit safe form. + +
Setting a nil/empty encoding + reverts to the default (base64).
Setting an + unknown/inapplicable + encoding raises an exception. ++ +setFoldAt: +position ++ This method allows you to control the + position at which lines in headers and the + body data are wrapped. +
RFC 2822 says that the + absolute maximum (except for 'binary' content + transfer encoding) is 998 (excluding CRLF), but + the recommended maximum is 78 so we use that by + default.
Setting any ridiculously + short value (less than 20) or an + excessively long value + (greater than the 998 character limit supported by + SMTP) actually sets a value of zero, meaning that + there is no limit. ++ +setTextEncoding: +encoding ++ Sets the content transfer encoding used + when 8bit text needs to be sent in a 7bit safe form. + +
Setting a nil/empty encoding + reverts to the default (quoted-printable).
+ Setting an unknown/inapplicable encoding + raises an exception. ++ +setUse8bit: +aFlag ++ Sets whether we will allow 8bit data in the output. + +
The default isNO
(because 8bit + data breaks some mail transfer agents). ++ +textEncoding ++ Returns the default content transfer encoding used + when 8bit text needs to be made 7bit safe. This is + quoted-printable by default. + ++ +use8bit ++ Returns +YES
is we will allow 8bit data + in the output,NO
if we encode everything + in a 7bit safe form. ++ + ++ Software documentation for the + NSObject(GSMimeSMTPClient) category + ++ +GNUstepBase/GSMime.h ++ Informal protocol for delegates of the + GSMimeSMTPClient class. The default + implementations of these methods do nothing. + ++ +smtpClient: +client +mimeFailed: +doc ++ Description forthcoming. + ++ +smtpClient: +client +mimeSent: +doc ++ Description forthcoming. + ++ +smtpClient: +client +mimeUnsent: +doc ++ Description forthcoming. + +Authors
- Version: 38957
-Date: 2015-08-30 04:50:59 -0600 (Sun, 30 Aug 2015)
-Copyright: (C) 2000 Free Software Foundation, Inc.
+Date: Generated at 2023-12-20 19:35:46 -0500
+Copyright: (C) 2000-2016 Free Software Foundation, Inc.
@@ -44,7 +43,10 @@Contents -
Software documentation for the GSMimeSMTPClient class- Software documentation for the + Software documentation for the GSMimeSerializer class + ++ Software documentation for the NSObject(GSMimeSMTPClient) category @@ -113,9 +115,9 @@GSMimeCodingContext : NSObject
Method summary-
- -atEnd
-- -decodeData:length:intoData:
-- -setAtEnd:
+- -atEnd
+- -decodeData:length:intoData:
+- -setAtEnd:
@@ -133,7 +135,7 @@atEnd
decodeData: length: intoData:
- - (BOOL) decodeData: (const void*)sData length: (NSUInteger)length intoData: (NSMutableData*)dData;
+ - (BOOL) decodeData: (const void*)sData length: (NSUInteger)length intoData: (NSMutableData*)dData;
Availability: Not in OpenStep/MacOS-X
@@ -225,53 +227,69 @@GSMimeDocument : NSObject
Method summary-
- +charsetFromEncoding:
-- +decodeBase64:
-- +decodeBase64String:
-- +documentWithContent:type:name:
-- +encodeBase64:
-- +encodeBase64String:
-- +encodingFromCharset:
-- -addContent:
-- -addHeader:
-- -addHeader:value:parameters:
-- -allHeaders
-- -content
-- -contentByID:
-- -contentByLocation:
-- -contentByName:
-- -contentFile
-- -contentID
-- -contentLocation
-- -contentName
-- -contentSubtype
-- -contentType
-- -contentsByName:
-- -convertToBase64
-- -convertToBinary
-- -convertToData
-- -convertToText
-- -copyWithZone:
-- -deleteContent:
-- -deleteHeader:
-- -deleteHeaderNamed:
-- -headerNamed:
-- -headersNamed:
-- -makeBoundary
-- -makeContentID
-- -makeHeader:value:parameters:
-- -makeMessageID
-- -rawMimeData
-- -rawMimeData:
-- -rawMimeData:foldedAt:
-- -setContent:
-- -setContent:type:
-- -setContent:type:name:
-- -setContentType:
-- -setHeader:
-- -setHeader:value:parameters:
+- +charsetForXml:
+- +charsetFromEncoding:
+- +decodeBase64:
+- +decodeBase64String:
+- +documentWithContent:type:name:
+- +encodeBase64:
+- +encodeBase64String:
+- +encodingFromCharset:
+- -addContent:
+- -addHeader:
+- -addHeader:value:parameters:
+- -allHeaders
+- -content
+- -contentByID:
+- -contentByLocation:
+- -contentByName:
+- -contentFile
+- -contentID
+- -contentLocation
+- -contentName
+- -contentSubtype
+- -contentType
+- -contentsByName:
+- -convertTo7BitSafe
+- -convertToBase64
+- -convertToBinary
+- -convertToData
+- -convertToText
+- -copyWithZone:
+- -deleteContent:
+- -deleteHeader:
+- -deleteHeaderNamed:
+- -estimatedSize
+- -headerNamed:
+- -headersNamed:
+- -makeBoundary
+- -makeContentID
+- -makeHeader:value:parameters:
+- -makeMessageID
+- -rawMimeData
+- -rawMimeData:
+- -rawMimeData:foldedAt:
+- -setContent:
+- -setContent:type:
+- -setContent:type:name:
+- -setContentType:
+- -setHeader:
+- -setHeader:value:parameters:
++charsetForXml:
+ + (NSString*) charsetForXml: (id)xml;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+charsetFromEncoding:
+ (NSString*) charsetFromEncoding: (NSStringEncoding)enc;
@@ -288,12 +306,12 @@charsetFromEncoding:&nb correspondence between charsets and encodings is not a direct one to one mapping, so successive calls to - + +encodingFromCharset: and - + +charsetFromEncoding: @@ -330,13 +348,13 @@
decodeBase64String:  Converts the base64 encoded data in source to a decoded ASCII or UTF8 string using the - + +decodeBase64: method. If the encoded data does not represent an ASCII or UTF8 string, you should use the - + +decodeBase64: @@ -347,7 +365,7 @@
decodeBase64String: 
documentWithContent: type: name:
- + (GSMimeDocument*) documentWithContent: (id)newContent type: (NSString*)type name: (NSString*)name;
+ + (GSMimeDocument*) documentWithContent: (id)newContent type: (NSString*)type name: (NSString*)name;
Availability: Not in OpenStep/MacOS-X
@@ -357,7 +375,7 @@documentWithC document using the specified content, type, and name value. This calls the - + -setContent:type:name: @@ -399,13 +417,13 @@
encodeBase64String:  Converts the ASCII or UTF8 string source into base64 encoded data using the - + +encodeBase64: method. If the original data is not an ASCII or UTF8 string, you should use the - + +encodeBase64: @@ -432,12 +450,12 @@
encodingFromCharset:&nb correct.
The correspondence between charsets and encodings is not a direct one to one mapping, so successive calls to - + +encodingFromCharset: and - + +charsetFromEncoding: @@ -461,7 +479,7 @@addContent:
addHeader:
- - (void) addHeader: (GSMimeHeader*)info;
+ - (void) addHeader: (GSMimeHeader*)info;
Availability: Not in OpenStep/MacOS-X
@@ -504,7 +522,7 @@addHeader:
@@ -582,12 +600,12 @@addHeader: value: parameters:
- - (GSMimeHeader*) addHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
+ - (GSMimeHeader*) addHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
Availability: Not in OpenStep/MacOS-X
@@ -513,8 +531,8 @@addHeader: Convenience method to create a new header and add it to the receiver.
Returns the newly created header.
See - [GSMimeHeader -initWithName:value:parameters:] - and -addHeader: + [GSMimeHeader -initWithName:value:parameters:] + and -addHeader: methods.content
If you want to be sure that you get a particular type of data, use the - + -convertToData or - + -convertToText @@ -661,7 +679,8 @@contentFile
Convenience method to fetch the content file - name from the header. + name from the content-type or content-disposition + header.
@@ -755,18 +774,18 @@contentsByName:
-convertToBase64
- - (void) convertToBase64;
+convertTo7BitSafe
+ - (void) convertTo7BitSafe;
Availability: Not in OpenStep/MacOS-X
Converts any binary parts of the receiver's - content to be base64 encoded rather than 8bit or - binary encoded... a convenience method to make the - results of the - + content to be base64 (or quoted-printable for text + parts) encoded rather than 8bit or binary encoded... + a convenience method to make the results of the + -rawMimeData @@ -776,6 +795,19 @@+convertToBase64
+convertToBase64
+ - (void) convertToBase64;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
++convertToBinary
- (void) convertToBinary;
@@ -784,11 +816,11 @@convertToBinary
- Converts any base64 encoded parts of the - receiver's content to be binary encoded instead - ... a convenience method to shrink down the size of the - message when converted to data using the - + Converts any base64 (or quoted-printable) encoded + parts of the receiver's content to be binary encoded + instead... a convenience method to shrink down the + size of the message when converted to data using the + -rawMimeData @@ -846,7 +878,7 @@copyWithZone:
deleteContent:
- - (void) deleteContent: (GSMimeDocument*)aPart;
+ - (void) deleteContent: (GSMimeDocument*)aPart;
Availability: Not in OpenStep/MacOS-X
@@ -862,7 +894,7 @@deleteContent:
deleteHeader:
- - (void) deleteHeader: (GSMimeHeader*)aHeader;
+ - (void) deleteHeader: (GSMimeHeader*)aHeader;
Availability: Not in OpenStep/MacOS-X
@@ -888,9 +920,23 @@deleteHeaderNamed: <
+estimatedSize
+ - (NSUInteger) estimatedSize;
++Availability: Not in OpenStep/MacOS-X+
++ + How big this document might be when represented as raw + MIME data. + ++
+headerNamed:
- - (GSMimeHeader*) headerNamed: (NSString*)name;
+ - (GSMimeHeader*) headerNamed: (NSString*)name;
Availability: Not in OpenStep/MacOS-X
@@ -963,7 +1009,7 @@makeBoundary
makeContentID
- - (GSMimeHeader*) makeContentID;
+ - (GSMimeHeader*) makeContentID;
Availability: Not in OpenStep/MacOS-X
@@ -981,14 +1027,14 @@makeContentID
makeHeader: value: parameters:
- - (GSMimeHeader*) makeHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
+ - (GSMimeHeader*) makeHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
Availability: Not in OpenStep/MacOS-X
makeMessageID
- - (GSMimeHeader*) makeMessageID;
+ - (GSMimeHeader*) makeMessageID;
Availability: Not in OpenStep/MacOS-X
@@ -1025,7 +1071,7 @@rawMimeData
Return an NSData object representing the MIME document as raw data ready to be sent via an email system.
Calls - + -rawMimeData: @@ -1076,7 +1122,7 @@rawMimeData:
Method summaryrawMimeData: foldedAt:
- - (NSMutableData*) rawMimeData: (BOOL)isOuter foldedAt: (NSUInteger)fold;
+ - (NSMutableData*) rawMimeData: (BOOL)isOuter foldedAt: (NSUInteger)fold;
Availability: Not in OpenStep/MacOS-X
@@ -1154,7 +1200,7 @@setContent: type: 
Convenience method calling - + -setContent:type:name: @@ -1207,17 +1253,17 @@+setContent: type:
You can get the same effect by calling - + -setContent: to set the document content, then creating a - GSMimeHeader + GSMimeHeader instance, initialising it with the content type information you want using - [GSMimeHeader -initWithName:value:parameters:] -, and calling the -setHeader: + [GSMimeHeader -initWithName:value:parameters:] +, and calling the -setHeader: method to attach it to the document.
@@ -1267,7 +1313,7 @@
setContentType:
setHeader:
- - (void) setHeader: (GSMimeHeader*)info;
+ - (void) setHeader: (GSMimeHeader*)info;
Availability: Not in OpenStep/MacOS-X
@@ -1282,7 +1328,7 @@setHeader:
@@ -1369,32 +1415,47 @@setHeader: value: parameters:
- - (GSMimeHeader*) setHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
+ - (GSMimeHeader*) setHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
Availability: Not in OpenStep/MacOS-X
@@ -1292,8 +1338,8 @@setHeader: add it to the receiver replacing any existing header of the same name.
Returns the newly created header.
See - [GSMimeHeader -initWithName:value:parameters:] - and -setHeader: + [GSMimeHeader -initWithName:value:parameters:] + and -setHeader: methods.GSMimeHeader : NSObject
Method summary-
- +makeQuoted:always:
-- +makeToken:
-- +makeToken:preservingCase:
-- -copyWithZone:
-- -fullValue
-- -initWithName:value:
-- -initWithName:value:parameters:
-- -name
-- -namePreservingCase:
-- -objectForKey:
-- -objects
-- -parameterForKey:
-- -parameters
-- -parametersPreservingCase:
-- -rawMimeData
-- -rawMimeDataPreservingCase:
-- -rawMimeDataPreservingCase:foldedAt:
-- -setName:
-- -setObject:forKey:
-- -setParameter:forKey:
-- -setParameters:
-- -setValue:
-- -text
-- -value
+- +headerWithName:value:parameters:
+- +makeQuoted:always:
+- +makeToken:
+- +makeToken:preservingCase:
+- -copyWithZone:
+- -estimatedSize
+- -fullValue
+- -initWithName:value:
+- -initWithName:value:parameters:
+- -name
+- -namePreservingCase:
+- -objectForKey:
+- -objects
+- -parameterForKey:
+- -parameters
+- -parametersPreservingCase:
+- -rawMimeData
+- -rawMimeDataPreservingCase:
+- -rawMimeDataPreservingCase:foldedAt:
+- -rawMimeDataPreservingCase:foldedAt:to:
+- -setObject:forKey:
+- -setParameter:forKey:
+- -setParameters:
+- -setValue:
+- -text
+- -value
++headerWithName: value: parameters:
+ + (GSMimeHeader*) headerWithName: (NSString*)n value: (NSString*)v parameters: (NSDictionary*)p;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+makeQuoted: always:
+ (NSString*) makeQuoted: (NSString*)v always: (BOOL)flag;
@@ -1458,6 +1519,20 @@copyWithZone:
+estimatedSize
+ - (NSUInteger) estimatedSize;
++Availability: Not in OpenStep/MacOS-X+
++ + How big this header might be when represented as raw + MIME data. + ++
+fullValue
- (NSString*) fullValue;
@@ -1472,7 +1547,7 @@fullValue
escape sequences (ie contains a unicode string not necessarily plain ASCII).
If you just want the plain value excluding any parameters, use the - + -value @@ -1490,7 +1565,7 @@initWithName: value:&
Convenience method calling - + -initWithName:value:parameters: @@ -1651,7 +1726,7 @@rawMimeDataPreservi
rawMimeDataPreservingCase: foldedAt:
- - (NSMutableData*) rawMimeDataPreservingCase: (BOOL)preserve foldedAt: (NSUInteger)fold;
+ - (NSMutableData*) rawMimeDataPreservingCase: (BOOL)preserve foldedAt: (NSUInteger)fold;
Availability: Not in OpenStep/MacOS-X
@@ -1673,22 +1748,14 @@rawMimeDat
-setName:
- - (void) setName: (NSString*)s;
+rawMimeDataPreservingCase: foldedAt: to:
+ - (void) rawMimeDataPreservingCase: (BOOL)preserve foldedAt: (NSUInteger)fold to: (NSMutableData*)md;
Availability: Not in OpenStep/MacOS-X
- Sets the name of this header... and removes illegal - characters.
If given anil
- or empty string argument, sets the name to 'unknown'. -
NB. The value returned by the - - -name - - - method will be a lowercase version of thae name. + Description forthcoming.
@@ -1749,8 +1816,9 @@setValue:
Sets the value of this header (without changing - parameters)
If given anil
- argument, set an empty string value. + parameters).
If given a +nil
argument, set an empty string + value.
@@ -1780,17 +1848,28 @@value
Returns the value of this header (excluding any parameters).
Use the - + -fullValue - m,ethod if you want parameter included. + method if you want parameter included.
Instance Variables for GSMimeHeader Class
+lower
+ @protected NSString* lower;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
name
@protected NSString* name;
@@ -1869,7 +1948,7 @@+GSMimeParser : NSObject
You supply the document to be parsed as one or more data items passed to the - + -parse: @@ -1885,7 +1964,7 @@GSMimeParser : NSObject
On completion of parsing a valid document, the - [GSMimeParser -mimeDocument] + [GSMimeParser -mimeDocument] method returns the resulting parsed document.
@@ -1898,12 +1977,12 @@
GSMimeParser : NSObject
mail client has produced an email which does not conform to the MIME standards), you should look at the - + -setBuggyQuotes: and - + -setDefaultCharset: @@ -1919,35 +1998,35 @@GSMimeParser : NSObject
Method summary-
- +documentFromData:
-- +mimeParser
-- -contextFor:
-- -data
-- -decodeData:fromRange:intoData:withContext:
-- -excess
-- -expectNoHeaders
-- -isComplete
-- -isHttp
-- -isInBody
-- -isInHeaders
-- -mimeDocument
-- -parse:
-- -parseHeader:
-- -parseHeaders:remaining:
-- -scanHeaderBody:into:
-- -scanName:
-- -scanPastSpace:
-- -scanSpecial:
-- -scanToken:
-- -setBuggyQuotes:
-- -setDefaultCharset:
-- -setHeadersOnly
-- -setIsHttp
+- +documentFromData:
+- +mimeParser
+- -contextFor:
+- -data
+- -decodeData:fromRange:intoData:withContext:
+- -excess
+- -expectNoHeaders
+- -isComplete
+- -isHttp
+- -isInBody
+- -isInHeaders
+- -mimeDocument
+- -parse:
+- -parseHeader:
+- -parseHeaders:remaining:
+- -scanHeaderBody:into:
+- -scanName:
+- -scanPastSpace:
+- -scanSpecial:
+- -scanToken:
+- -setBuggyQuotes:
+- -setDefaultCharset:
+- -setHeadersOnly
+- -setIsHttp
documentFromData:
- + (GSMimeDocument*) documentFromData: (NSData*)mimeData;
+ + (GSMimeDocument*) documentFromData: (NSData*)mimeData;
Availability: Not in OpenStep/MacOS-X
@@ -1961,7 +2040,7 @@documentFromData: <
mimeParser
- + (GSMimeParser*) mimeParser;
+ + (GSMimeParser*) mimeParser;
Availability: Not in OpenStep/MacOS-X
@@ -1974,7 +2053,7 @@mimeParser
contextFor:
- - (GSMimeCodingContext*) contextFor: (GSMimeHeader*)info;
+ - (GSMimeCodingContext*) contextFor: (GSMimeHeader*)info;
Availability: Not in OpenStep/MacOS-X
@@ -2046,7 +2125,7 @@data
decodeData: fromRange: intoData: withContext:
- - (BOOL) decodeData: (NSData*)sData fromRange: (NSRange)aRange intoData: (NSMutableData*)dData withContext: (GSMimeCodingContext*)con;
+ - (BOOL) decodeData: (NSData*)sData fromRange: (NSRange)aRange intoData: (NSMutableData*)dData withContext: (GSMimeCodingContext*)con;
Availability: Not in OpenStep/MacOS-X
@@ -2198,7 +2277,7 @@isInHeaders
mimeDocument
- - (GSMimeDocument*) mimeDocument;
+ - (GSMimeDocument*) mimeDocument;
Availability: Not in OpenStep/MacOS-X
@@ -2252,13 +2331,13 @@parse:
The parser attempts to be as flexible as possible and to continue parsing wherever it can. If an error occurs in parsing, the - + -isComplete method will always returnNO
, even after the - + -parse: @@ -2306,14 +2385,14 @@parseHeader:
contents into a GSMimeHeader object, and add that information to the document.
The method is normally used internally by the - + -parse: method, but you may also call it to parse an entire header line and add it to the document (this may be useful in conjunction with the - + -expectNoHeaders @@ -2339,7 +2418,7 @@parseHeader:
The standard implementation of this method scans the header name and then calls - + -scanHeaderBody:into: @@ -2354,7 +2433,7 @@parseHeader:
This method also performs consistency checks on headers scanned so it is recommended that it is not overridden, but that subclasses override - + -scanHeaderBody:into: @@ -2428,7 +2507,7 @@parseHeaders: rem
+scanHeaderBody: into:
- - (BOOL) scanHeaderBody: (NSScanner*)scanner into: (GSMimeHeader*)info;
+ - (BOOL) scanHeaderBody: (NSScanner*)scanner into: (GSMimeHeader*)info;
Availability: Not in OpenStep/MacOS-X
@@ -2440,7 +2519,7 @@scanHeaderBody: into This method is called to parse a header line and split its contents into the supplied - GSMimeHeader + GSMimeHeader instance. @@ -2963,28 +3042,28 @@
GSMimeSMTPClient : NSObject
The GSMimeSMTPClient class provides the ability to send - EMails - GSMimeDocument - - instances) via an SMTP server. + EMails ([GSMimeDocument] instances) via an SMTP + server.Method summary-
- -abort
-- -delegate
-- -flush:
-- -lastError
-- -send:
-- -send:envelopeID:
-- -setDelegate:
-- -setHostname:
-- -setIdentity:
-- -setOriginator:
-- -setPort:
-- -setUsername:
-- -state
-- -stateDesc
+- -abort
+- -delegate
+- -flush:
+- -lastError
+- -queueSize
+- -send:
+- -send:envelopeID:
+- -setDelegate:
+- -setHostname:
+- -setIdentity:
+- -setMaximum:
+- -setOriginator:
+- -setPort:
+- -setUsername:
+- -state
+- -stateDesc
@@ -3047,9 +3126,23 @@lastError
+queueSize
+ - (NSUInteger) queueSize;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the number of messages currently in the + queue. + ++
+send:
- - (void) send: (GSMimeDocument*)message;
+ - (void) send: (GSMimeDocument*)message;
Availability: Not in OpenStep/MacOS-X
@@ -3063,7 +3156,7 @@send:
send: envelopeID:
- - (void) send: (GSMimeDocument*)message envelopeID: (NSString*)envid;
+ - (void) send: (GSMimeDocument*)message envelopeID: (NSString*)envid;
Availability: Not in OpenStep/MacOS-X
@@ -3130,6 +3223,23 @@setIdentity:
+setMaximum:
+ - (NSUInteger) setMaximum: (NSUInteger)m;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the maximum number of messages which may remain + in the queue. If this is exceeded then any unsuccessful + send attempt results in excess queued messages + discarded as unsent.+
The method returns + the previous setting. + +
++ Software documentation for the GSMimeSerializer class +
+GSMimeSerializer : NSObject
++++
+- Declared in:
+- GNUstepBase/GSMime.h
++++
+- Conforms to:
+- NSCopying
++Availability: Not in OpenStep/MacOS-X+
++ + Instances of the GSMimeSerializer class are used to + serialise GSMimeDocument objects to NSMutableData + objects, producing data in a form suitable for + sending as an Email over the SMTP protocol or in + other forms. + ++
+ Instance Variables +
+ Method summary ++
+- +binarySerializer
+- +smtp7bitSerializer
+- -copyWithZone:
+- -dataEncoding
+- -encodeDocument:
+- -encodePart:to:
+- -foldAt
+- -setDataEncoding:
+- -setFoldAt:
+- -setTextEncoding:
+- -setUse8bit:
+- -textEncoding
+- -use8bit
+
+++binarySerializer
+ + (GSMimeSerializer*) binarySerializer;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns an autorelease GSMimeSerializer configured + for transfer over binary safe protocols with unliumited + line lenth). + ++
+++smtp7bitSerializer
+ + (GSMimeSerializer*) smtp7bitSerializer;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns an autorelease GSMimeSerializer configured + for Email to be sent as 7bit data over SMTP. + ++
+++copyWithZone:
+ - (id) copyWithZone: (NSZone*)aZone;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a copy of the receiver. + ++
+++dataEncoding
+ - (NSString*) dataEncoding;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the default content transfer encoding used + when 8bit data needs to be made 7bit safe. This is + base64 by default. + ++
+++encodeDocument:
+ - (NSMutableData*) encodeDocument: (GSMimeDocument*)document;
++Availability: Not in OpenStep/MacOS-X+
++ + Encodes the document and returns the + resulting raw mime data. + ++
+++encodePart: to:
+ - (void) encodePart: (GSMimeDocument*)document to: (NSMutableData*)md;
++Availability: Not in OpenStep/MacOS-X+
++ + Appends a document part to the supplied + data object. + ++
+++foldAt
+ - (NSUInteger) foldAt;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the maximum line length (excluding the + trailing CRLF) to which we will encode data. See + also the + + -setFoldAt: + + + method. + ++
+++setDataEncoding:
+ - (void) setDataEncoding: (NSString*)encoding;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the content transfer encoding used + when 8bit data needs to be sent in a 7bit safe form. ++
Setting a nil/empty encoding + reverts to the default (base64).
Setting an + unknown/inapplicable + encoding raises an exception. + +
+++setFoldAt:
+ - (void) setFoldAt: (NSUInteger)position;
++Availability: Not in OpenStep/MacOS-X+
++ + This method allows you to control the + position at which lines in headers and the + body data are wrapped.+
RFC 2822 says that the + absolute maximum (except for 'binary' content + transfer encoding) is 998 (excluding CRLF), but + the recommended maximum is 78 so we use that by + default.
Setting any ridiculously + short value (less than 20) or an + excessively long value + (greater than the 998 character limit supported by + SMTP) actually sets a value of zero, meaning that + there is no limit. + +
+++setTextEncoding:
+ - (void) setTextEncoding: (NSString*)encoding;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the content transfer encoding used + when 8bit text needs to be sent in a 7bit safe form. ++
Setting a nil/empty encoding + reverts to the default (quoted-printable).
+ Setting an unknown/inapplicable encoding + raises an exception. + +
+++setUse8bit:
+ - (void) setUse8bit: (BOOL)aFlag;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets whether we will allow 8bit data in the output. ++
The default isNO
(because 8bit + data breaks some mail transfer agents). + +
+++textEncoding
+ - (NSString*) textEncoding;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the default content transfer encoding used + when 8bit text needs to be made 7bit safe. This is + quoted-printable by default. + ++
+++use8bit
+ - (BOOL) use8bit;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns+YES
is we will allow 8bit data + in the output,NO
if we encode everything + in a 7bit safe form. + +
+
+Instance Variables for GSMimeSerializer Class
+dataEncoding
+ @protected NSString* dataEncoding;
++Availability: Not in OpenStep/MacOS-X+
++ + To make 8bit data 7bit-safe + ++
+foldAt
+ @protected NSUInteger foldAt;
++Availability: Not in OpenStep/MacOS-X+
++ + Fold long lines at this position + ++
+textEncoding
+ @protected NSString* textEncoding;
++Availability: Not in OpenStep/MacOS-X+
++ + To make 8bit text 7bit-safe + ++
+use8bit
+ @protected BOOL use8bit;
++Availability: Not in OpenStep/MacOS-X+
++ + Output does not need to be 7bit-safe + ++
+
+ +Software documentation for the NSObject(GSMimeSMTPClient) category
@@ -3235,14 +3651,14 @@NSObject(GSMimeSMTPClient)
-
- -smtpClient:mimeFailed:
-- -smtpClient:mimeSent:
-- -smtpClient:mimeUnsent:
+- -smtpClient:mimeFailed:
+- -smtpClient:mimeSent:
+- -smtpClient:mimeUnsent:
smtpClient: mimeFailed:
- - (void) smtpClient: (GSMimeSMTPClient*)client mimeFailed: (GSMimeDocument*)doc;
+ - (void) smtpClient: (GSMimeSMTPClient*)client mimeFailed: (GSMimeDocument*)doc;
Availability: Not in OpenStep/MacOS-X
@@ -3255,7 +3671,7 @@smtpClien
smtpClient: mimeSent:
- - (void) smtpClient: (GSMimeSMTPClient*)client mimeSent: (GSMimeDocument*)doc;
+ - (void) smtpClient: (GSMimeSMTPClient*)client mimeSent: (GSMimeDocument*)doc;
Availability: Not in OpenStep/MacOS-X
@@ -3268,7 +3684,7 @@smtpClient:
smtpClient: mimeUnsent:
- - (void) smtpClient: (GSMimeSMTPClient*)client mimeUnsent: (GSMimeDocument*)doc;
+ - (void) smtpClient: (GSMimeSMTPClient*)client mimeUnsent: (GSMimeDocument*)doc;
Availability: Not in OpenStep/MacOS-X
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSTLS.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/GSTLS.gsdoc new file mode 100644 index 0000000..a43c4d2 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/GSTLS.gsdoc @@ -0,0 +1,529 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSTLS.html b/resources/documentation/Developer/BaseAdditions/Reference/GSTLS.html new file mode 100644 index 0000000..4a7ccba --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/GSTLS.html @@ -0,0 +1,1087 @@ + + + + +GSTLS documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2012 Free Software Foundation, Inc. + + ++ + ++ Software documentation for the GSTLSCertificateList + class + ++ +GNUstepBase/GSTLS.h ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +listFromFile: +f ++ Description forthcoming. + ++ +certificateList ++ Description forthcoming. + ++ +count ++ Description forthcoming. + ++ +expiresAt ++ Description forthcoming. + ++ +expiresAt: +index ++ Description forthcoming. + ++ ++ Software documentation for the GSTLSCredentials class + ++ +GNUstepBase/GSTLS.h ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +credentialsFromCAFile: +ca +defaultCAFile: +dca +revokeFile: +rv +defaultRevokeFile: +drv +certificateFile: +cf +certificateKeyFile: +ck +certificateKeyPassword: +cp +asClient: +client +debug: +debug ++ Description forthcoming. + ++ +selfSigned: +debug ++ Description forthcoming. + ++ +credentials ++ Description forthcoming. + ++ +key ++ Description forthcoming. + ++ +list ++ Description forthcoming. + ++ +trust ++ Description forthcoming. + ++ ++ Software documentation for the GSTLSDHParams class + ++ +GNUstepBase/GSTLS.h ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +current ++ Description forthcoming. + ++ +generate ++ Description forthcoming. + ++ +paramsFromFile: +f ++ Description forthcoming. + ++ +params ++ Description forthcoming. + ++ ++ Software documentation for the GSTLSObject class + ++ +GNUstepBase/GSTLS.h ++ Description forthcoming. + ++ +dataForTLSFile: +fileName ++ Returns either the cached data for this file name + (if any), or the result of calling + [NSData +dataWithContentsOfFile:] if there is no cached data. +
This method is used internally to load certificates and keys. ++ +setData: +data +forTLSFile: +fileName ++ Sets the known (cached) data content for + the specified file name. +
Calling this with a +nil
data object will remove + any existing value from the cache.
You may use + this method to control what data is used + for specified file names. ++ ++ Software documentation for the GSTLSPrivateKey class + ++ +GNUstepBase/GSTLS.h ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +keyFromFile: +f +withPassword: +p ++ Description forthcoming. + ++ +key ++ Description forthcoming. + ++ + ++ Software documentation for the GSTLSSession class + ++ +GNUstepBase/GSTLS.h ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +sessionWithOptions: +options +direction: +isOutgoing +transport: +ioHandle +push: +pushFunc +pull: +pullFunc ++ Description forthcoming. + ++ +active ++ Description forthcoming. + ++ +age ++ Returns the age of this instance (how + long since it was created). + ++ +credentials ++ Description forthcoming. + ++ +debug ++ Description forthcoming. + ++ +disconnect: +reusable ++ Description forthcoming. + ++ +handshake ++ Description forthcoming. + ++ +initWithOptions: +options +direction: +isOutgoing +transport: +ioHandle +push: +pushFunc +pull: +pullFunc ++ Description forthcoming. + ++ +issuer ++ If the session verified a certificate from the remote + end, returns the name of the certificate issuer in the + form "C=xxxx,O=yyyy,CN=zzzz" as described in RFC4514. + Otherwise returns +nil
. ++ +owner ++ If the session verified a certificate from the remote + end, returns the name of the certificate owner in the + form "C=xxxx,O=yyyy,CN=zzzz" as described in RFC4514. + Otherwise returns +nil
. ++ +pending ++ Returns the number of bytes of data available to be + read from the TLS buffers (using the + + -read:length: + + method). If this returns zero the TLS software + needs to perform a network read before any more data + can be returned. + ++ +problem ++ Description forthcoming. + ++ +read: +buf +length: +len ++ Description forthcoming. + ++ +sessionInfo ++ Get a report of the SSL/TLS status of the current + session. + ++ +verify ++ Description forthcoming. + ++ +write: +buf +length: +len ++ Description forthcoming. + +GSTLS documentation + + + + Up +
+GSTLS documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Date: Generated at 2023-12-20 19:35:46 -0500
+Copyright: (C) 2012 Free Software Foundation, Inc.
+ +++ +
+Contents -
++
+- + Software documentation for the GSTLSCertificateList + class +
+- + Software documentation for the GSTLSCredentials class +
+- + Software documentation for the GSTLSDHParams class +
+- + Software documentation for the GSTLSObject class +
+- + Software documentation for the GSTLSPrivateKey class +
+- + Software documentation for the GSTLSSession class +
+
++ Software documentation for the GSTLSCertificateList + class +
+GSTLSCertificateList : GSTLSObject
++++
+- Declared in:
+- GNUstepBase/GSTLS.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+ Method summary ++
+- +listFromFile:
+- -certificateList
+- -count
+- -expiresAt
+- -expiresAt:
+
+++listFromFile:
+ + (GSTLSCertificateList*) listFromFile: (NSString*)f;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++certificateList
+ - (gnutls_x509_crt_t*) certificateList;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++count
+ - (unsigned int) count;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++expiresAt
+ - (NSDate*) expiresAt;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++expiresAt:
+ - (NSDate*) expiresAt: (unsigned int)index;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+Instance Variables for GSTLSCertificateList Class
+count
+ @protected unsigned int count;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+crts
+ @protected gnutls_x509_crt_t* crts;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+path
+ @protected NSString* path;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+when
+ @protected NSTimeInterval when;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSTLSCredentials class +
+GSTLSCredentials : GSTLSObject
++++
+- Declared in:
+- GNUstepBase/GSTLS.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+ Method summary ++
+- +credentialsFromCAFile:defaultCAFile:revokeFile:defaultRevokeFile:certificateFile:certificateKeyFile:certificateKeyPassword:asClient:debug:
+- +selfSigned:
+- -credentials
+- -key
+- -list
+- -trust
+
+++credentialsFromCAFile: defaultCAFile: revokeFile: defaultRevokeFile: certificateFile: certificateKeyFile: certificateKeyPassword: asClient: debug:
+ + (GSTLSCredentials*) credentialsFromCAFile: (NSString*)ca defaultCAFile: (NSString*)dca revokeFile: (NSString*)rv defaultRevokeFile: (NSString*)drv certificateFile: (NSString*)cf certificateKeyFile: (NSString*)ck certificateKeyPassword: (NSString*)cp asClient: (BOOL)client debug: (BOOL)debug;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++selfSigned:
+ + (GSTLSCredentials*) selfSigned: (BOOL)debug;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++credentials
+ - (gnutls_certificate_credentials_t) credentials;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++key
+ - (GSTLSPrivateKey*) key;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++ +list
+ - (GSTLSCertificateList*) list;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+Instance Variables for GSTLSCredentials Class
+certcred
+ @protected gnutls_certificate_credentials_t certcred;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+dhParams
+ @protected GSTLSDHParams* dhParams;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+freeCred
+ @protected BOOL freeCred;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+key
+ @protected GSTLSPrivateKey* key;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+list
+ @protected GSTLSCertificateList* list;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+name
+ @protected NSString* name;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+trust
+ @protected BOOL trust;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+when
+ @protected NSTimeInterval when;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSTLSDHParams class +
+GSTLSDHParams : GSTLSObject
++++
+- Declared in:
+- GNUstepBase/GSTLS.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+ Method summary ++
+- +current
+- +generate
+- +paramsFromFile:
+- -params
+
+++ +current
+ + (GSTLSDHParams*) current;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++paramsFromFile:
+ + (GSTLSDHParams*) paramsFromFile: (NSString*)f;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++params
+ - (gnutls_dh_params_t) params;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+Instance Variables for GSTLSDHParams Class
+params
+ @protected gnutls_dh_params_t params;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+path
+ @protected NSString* path;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+when
+ @protected NSTimeInterval when;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSTLSObject class +
+GSTLSObject : NSObject
++++
+- Declared in:
+- GNUstepBase/GSTLS.h
++Availability: OpenStep+
++ + Description forthcoming. + ++ Method summary + +
+++dataForTLSFile:
+ + (NSData*) dataForTLSFile: (NSString*)fileName;
++Availability: OpenStep+
++ + Returns either the cached data for this file name + (if any), or the result of calling + [NSData +dataWithContentsOfFile:] + if there is no cached data.+
This method is used internally to load certificates and keys. + +
+++ +setData: forTLSFile:
+ + (void) setData: (NSData*)data forTLSFile: (NSString*)fileName;
++Availability: OpenStep+
++ + Sets the known (cached) data content for + the specified file name.+
Calling this with a +nil
data object will remove + any existing value from the cache.
You may use + this method to control what data is used + for specified file names. + +
++ Software documentation for the GSTLSPrivateKey class +
+GSTLSPrivateKey : GSTLSObject
++++
+- Declared in:
+- GNUstepBase/GSTLS.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+ Method summary + +
+++keyFromFile: withPassword:
+ + (GSTLSPrivateKey*) keyFromFile: (NSString*)f withPassword: (NSString*)p;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++key
+ - (gnutls_x509_privkey_t) key;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+Instance Variables for GSTLSPrivateKey Class
+key
+ @protected gnutls_x509_privkey_t key;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+password
+ @protected NSString* password;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+path
+ @protected NSString* path;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+when
+ @protected NSTimeInterval when;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSTLSSession class +
+GSTLSSession : GSTLSObject
++++
+- Declared in:
+- GNUstepBase/GSTLS.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+ Method summary ++
+- +sessionWithOptions:direction:transport:push:pull:
+- -active
+- -age
+- -credentials
+- -debug
+- -disconnect:
+- -handshake
+- -initWithOptions:direction:transport:push:pull:
+- -issuer
+- -owner
+- -pending
+- -problem
+- -read:length:
+- -sessionInfo
+- -verify
+- -write:length:
+
+++ +sessionWithOptions: direction: transport: push: pull:
+ + (GSTLSSession*) sessionWithOptions: (NSDictionary*)options direction: (BOOL)isOutgoing transport: (void*)ioHandle push: (GSTLSIOW)pushFunc pull: (GSTLSIOR)pullFunc;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++age
+ - (NSTimeInterval) age;
++Availability: OpenStep+
++ + Returns the age of this instance (how + long since it was created). + ++
+++ +credentials
+ - (GSTLSCredentials*) credentials;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++disconnect:
+ - (BOOL) disconnect: (BOOL)reusable;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++handshake
+ - (BOOL) handshake;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++initWithOptions: direction: transport: push: pull:
+ - (id) initWithOptions: (NSDictionary*)options direction: (BOOL)isOutgoing transport: (void*)ioHandle push: (GSTLSIOW)pushFunc pull: (GSTLSIOR)pullFunc;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++issuer
+ - (NSString*) issuer;
++Availability: OpenStep+
++ + If the session verified a certificate from the remote + end, returns the name of the certificate issuer in the + form "C=xxxx,O=yyyy,CN=zzzz" as described in RFC4514. + Otherwise returns+nil
. + +
+++owner
+ - (NSString*) owner;
++Availability: OpenStep+
++ + If the session verified a certificate from the remote + end, returns the name of the certificate owner in the + form "C=xxxx,O=yyyy,CN=zzzz" as described in RFC4514. + Otherwise returns+nil
. + +
+++pending
+ - (size_t) pending;
++Availability: OpenStep+
++ + Returns the number of bytes of data available to be + read from the TLS buffers (using the + + -read:length: + + + method). If this returns zero the TLS software + needs to perform a network read before any more data + can be returned. + ++
+++problem
+ - (NSString*) problem;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++read: length:
+ - (NSInteger) read: (void*)buf length: (NSUInteger)len;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++ +sessionInfo
+ - (NSString*) sessionInfo;
++Availability: OpenStep+
++ + Get a report of the SSL/TLS status of the current + session. + ++
+++write: length:
+ - (NSInteger) write: (const void*)buf length: (NSUInteger)len;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+Instance Variables for GSTLSSession Class
+active
+ @protected BOOL active;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+created
+ @protected NSTimeInterval created;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+credentials
+ @protected GSTLSCredentials* credentials;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+debug
+ @protected BOOL debug;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+handle
+ @protected void* handle;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+handshake
+ @protected BOOL handshake;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+issuer
+ @protected NSString* issuer;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+opts
+ @protected NSDictionary* opts;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+outgoing
+ @protected BOOL outgoing;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+owner
+ @protected NSString* owner;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+problem
+ @protected NSString* problem;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+session
+ @public gnutls_session_t session;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+setup
+ @protected BOOL setup;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSXML.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/GSXML.gsdoc new file mode 100644 index 0000000..787fa29 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/GSXML.gsdoc @@ -0,0 +1,2510 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSXML.html b/resources/documentation/Developer/BaseAdditions/Reference/GSXML.html index 3984638..14c78b0 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/GSXML.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/GSXML.html @@ -19,6 +19,7 @@The XML and HTML parsing system ++ ++ mishel@berest.dp.ua + ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2000-2005 Free Software Foundation, Inc. + + ++ + +The XML and HTML parsing system ++ The GNUstep XML parser is a collection Objective-C classes + wrapping the C XML parsing library (libxml). +
++ The underlying C library handles high performance parsing, + while the ObjectiveC classes provide ease of + use/integration. +
++ ++ Software documentation for the GSHTMLParser class + ++ +GNUstepBase/GSXML.h ++ The GSHTMLParser class is a simple subclass of + GSXMLParser which should parse reasonably well + formed HTML documents. If you wish to parse XHTML + documents, you should use GSXMLParser... the + GSHTMLParser class is for older 'legacy' + documents. + ++ ++ Software documentation for the GSHTMLSAXHandler class + ++ +GNUstepBase/GSXML.h ++ You may create a subclass of this class to handle + incremental parsing of html documents... this is + provided for handling legacy documents, as modern + html documents should use xhtml, and for those you + should simply subclass + GSSAXHandler + ++ ++ Software documentation for the GSSAXHandler class + ++ +GNUstepBase/GSXML.h ++ ++ XML SAX Handler. +
++ GSSAXHandler is a callback-based interface to + the + GSXMLParser + which operates in a similar (though not identical) + manner to SAX. +
++ Each GSSAXHandler object is associated with a + GSXMLParser object. As parsing progresses, + the methods of the GSSAXHandler are invoked by the + parser, so the handler is able to deal with the + elements and entities being parsed. +
++ The callback methods in the GSSAXHandler class do + nothing - it is intended that you subclass + GSSAXHandler and override them. +
++ If you create a GSXMLParser passing
+nil
+ as the GSSAXHandler, the parser will parse data to + create a + GSXMLDocument + instance which you can then examine as a whole + ... this is generally the preferred mechanism for + parsing as it permits the parser to validate + the parsed document againts a DTD, and your + software can then examine the document secure + in the knowledge that it contains the expected + structure. Use of a GSSAXHandler is + preferred for very large documents with + simple structure... in which case incremental + parsing is more efficient. ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +handler ++ Create a new SAX handler. + ++ +attribute: +name +value: +value ++ +
Handle an attribute that has been read by the + parser. ++ +attributeDecl: +nameElement +name: +name +type: +type +typeDefValue: +defType +defaultValue: +value ++ +
An attribute definition has been parsed. ++ +cdataBlock: +value ++ +
Called when a cdata block has been parsed. ++ +characters: +name ++ +
Receiving some chars from the parser. ++ +comment: +value ++ +
A comment has been parsed. ++ +elementDecl: +name +type: +type ++ +
An element definition has been parsed. ++ +endDocument ++ +
Called when the document end has been + detected. ++ +endElement: +elementName ++ +
Called when a closing tag has been processed. ++ +endElement: +elementName +prefix: +prefix +href: +href ++ +
Called when a closing tag has been processed. ++ +entityDecl: +name +type: +type +public: +publicId +system: +systemId +content: +content ++ +
An entity definition has been parsed. ++ +error: +e ++ Called when an error message needs to be output. + ++ +error: +e +colNumber: +colNumber +lineNumber: +lineNumber ++ Called when an error message needs to be output. + ++ +externalSubset: +name +externalID: +externalID +systemID: +systemID ++ Called to find out whether there is an external + subset. + ++ +fatalError: +e ++ Called when a fatal error message needs to be + output. + ++ +fatalError: +e +colNumber: +colNumber +lineNumber: +lineNumber ++ Called when a fatal error message needs to be + output. + ++ +getEntity: +name ++ get an entity by name + ++ +getParameterEntity: +name ++ get a parameter entity by name + ++ +globalNamespace: +name +href: +href +prefix: +prefix ++ +
An old global namespace has been parsed. ++ +hasExternalSubset ++ Called to find out whether there is an external + subset. + ++ +hasInternalSubset ++ Called to find out whether there is an internal + subset. + ++ +ignoreWhitespace: +ch ++ +
Receiving some ignorable whitespaces from the + parser. ++ +internalSubset: +name +externalID: +externalID +systemID: +systemID ++ Called to find out whether there is an internal + subset. + ++ +isStandalone ++ Called to detemrine if the document is standalone. + ++ +lib ++ Returns a pointer to the raw libxml data used by + this document. +
Only for use by libxml experts! ++ +loadEntity: +publicId +at: +location ++ Called to return the filename from which an entity + should be loaded. + ++ +namespaceDecl: +name +href: +href +prefix: +prefix ++ +
An old global namespace has been parsed. ++ +notationDecl: +name +public: +publicId +system: +systemId ++ +
What to do when a notation declaration has + been parsed. ++ +parser ++ Return the parser object with which this handler is + associated. This may occasionally be useful. + ++ +processInstruction: +targetName +data: +PIdata ++ +
A processing instruction has been parsed. ++ +reference: +name ++ +
Called when an entity reference is detected. ++ +startDocument ++ +
Called when the document starts being + processed. ++ +startElement: +elementName +attributes: +elementAttributes ++ +
Called when an opening tag has been + processed. ++ +startElement: +elementName +prefix: +prefix +href: +href +attributes: +elementAttributes +namespaces: +elementNamespaces ++ Description forthcoming. + ++ +unparsedEntityDecl: +name +public: +publicId +system: +systemId +notationName: +notation ++ +
What to do when an unparsed entity + declaration is parsed. ++ +warning: +e ++ Called when a warning message needs to be output. + ++ +warning: +e +colNumber: +colNumber +lineNumber: +lineNumber ++ Called when a warning message needs to be output. + ++ ++ Software documentation for the GSTreeSAXHandler class + ++ +GNUstepBase/GSXML.h ++ The default handler for parsing documents... this will + build a GSXMLDocument for you. This handler may not + currently be subclassed, though that capability may + be added at a later date. + ++ ++ Software documentation for the GSXMLAttribute class + ++ +GNUstepBase/GSXML.h ++ A class wrapping attributes of an XML element node. + Generally when examining a GSXMLDocument, you need + not concern yourself with GSXMLAttribute objects as you + will probably use the + + [GSXMLNode -objectForKey:] + + method to return the string value of any attribute you + are interested in. + ++ +value ++ Returns the string value of the attribute. + ++ ++ Software documentation for the GSXMLDocument class + ++ +GNUstepBase/GSXML.h +NSCopying ++ A GSXML document wraps the document structure of the + underlying libxml library. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ +documentWithVersion: +version ++ Create a new document with the specified + version. + ++ id d = [GSXMLDocument documentWithVersion: @"1.0"]; + + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + [n1 makeComment: @" this is a comment "]; + [n1 makePI: @"pi1" content: @"this is a process instruction"]; + [n1 makeChildWithNamespace: nil name: @"key" content: @"Year Of Birth"]; + [n1 makeChildWithNamespace: nil name: @"integer" content: @"65"]; + [n1 makeChildWithNamespace: nil name: @"key" content: @"Pets Names"]; + ++ +description ++ Returns a string representation of the document (ie + the XML) or +nil
if the document does not + have reasonable contents. ++ +encoding ++ Returns the name of the encoding for this document. + ++ +lib ++ Returns a pointer to the raw libxml data used by + this document. +
Only for use by libxml experts! ++ +makeNodeWithNamespace: +ns +name: +name +content: +content ++ Creates a new node within the document. + ++ GSXMLNode *n1, *n2; + GSXMLDocument *d; + + d = [GSXMLDocument documentWithVersion: @"1.0"]; + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + ++ +root ++ Returns the root node of the document. + ++ +setRoot: +node ++ Sets the root of the document. +
NB. The + node must have been created as part of the + receiving document (eg. using the + -makeNodeWithNamespace:name:content: method). ++ +version ++ Returns the version string for this document. + ++ +writeToFile: +filename +atomically: +useAuxilliaryFile ++ Uses the + + -description + + method to produce a string representation of the + document and writes that to filename. + ++ +writeToURL: +url +atomically: +useAuxilliaryFile ++ Uses the + + -description + + method to produce a string representation of the + document and writes that to url. + ++ ++ Software documentation for the GSXMLNamespace class + ++ +GNUstepBase/GSXML.h +NSCopying ++ A GSXMLNamespace object wraps part of the document + structure of the underlying libxml library. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ +descriptionFromType: +type ++ Return the string representation of the specified + numeric type. + ++ +typeFromDescription: +desc ++ Return the numeric constant value for the namespace + type named. This method is inefficient, so the + returned value should be saved for re-use later. + The possible values are - + ++
- XML_LOCAL_NAMESPACE
+ +href ++ Returns the namespace reference + ++ +lib ++ Returns a pointer to the raw libxml data used by + this document. +
Only for use by libxml experts! ++ +next ++ return the next namespace. + ++ +prefix ++ Return the namespace prefix. + ++ +type ++ Return type of namespace + ++ +typeDescription ++ Return string representation of the type of the + namespace. + ++ ++ Software documentation for the GSXMLNode class + ++ +GNUstepBase/GSXML.h +NSCopying ++ A GSXMLNode object wraps part of the document structure of + the underlying libxml library. It may have a parent, + siblings, and children. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Description forthcoming. + ++ +descriptionFromType: +type ++ Return the string constant value for the node + type given. + ++ +typeFromDescription: +desc ++ ++ Converts a node type string to a numeric + constant which can be compared with the result + of the -type + method to determine what sort of node an instance + is. Because this method is quite inefficient, you + should cache the numeric type returned and re-use + the cached value. +
+ The node type names are - ++
+- XML_ELEMENT_NODE
+- XML_ATTRIBUTE_NODE
+- XML_TEXT_NODE
+- XML_CDATA_SECTION_NODE
+- XML_ENTITY_REF_NODE
+- XML_ENTITY_NODE
+- XML_PI_NODE
+- XML_COMMENT_NODE
+- XML_DOCUMENT_NODE
+- XML_DOCUMENT_TYPE_NODE
+- XML_DOCUMENT_FRAG_NODE
+- XML_NOTATION_NODE
+- XML_HTML_DOCUMENT_NODE
+- XML_DTD_NODE
+- XML_ELEMENT_DECL
+- XML_ATTRIBUTE_DECL
+- XML_ENTITY_DECL
++ +attributes ++ ++ Return attributes and values as a dictionary +
++ +content ++ Return node content as a string. This should return + meaningful information for text nodes and for + entity nodes containing only text nodes. +
If + entity substitution was not enabled during parsing, + an element containing text may actually contain both + text nodes and entity reference nodes, in this case + you should not use this method to get the content of + the element, but should examine the child nodes of the + element individually and perform any entity + reference you need to do explicitly.
NB. + There are five standard entities which are + automatically substituted into the content + text rather than appearing as entity nodes in their + own right. These are '<', '>', ''', '"' + and '&'. If you with to receive content in which + these characters are represented by the original + entity escapes, you need to use the + + -escapedContent + + method. ++ +description ++ Returns a string representation of the node and all + its children (ie the XML text) or +nil
if + the node does not have reasonable contents. ++ +document ++ Return the document in which this node exists. + ++ +escapedContent ++ This performs the same function as the + + -content + + method, but retains escaped character information + (the standard five entities <, >, + ', ", and &) which + are normally replaced with their standard equivalents + (<, >, ', ", and &). + ++ +firstAttribute ++ Return the first attribute in this node. + ++ +firstChild ++ Return the first child node of this node. + ++ - (GSXMLNode*) elementRecursive: (GSXMLNode*)node + { + while (node != nil) + { + if ([node type] == XML_ELEMENT_NODE) + { + return node; + } + if ([node firstChild] != nil) + { + node = [self elementRecursive: [node firstChild]]; + } + else + { + node = [node next]; + } + } + return node; + } + ++ +firstChildElement ++ Return the first child element of this node. If you + wish to step through all children of the node + (including non-element nodes) you should use the + + -firstChild + + method instead. + ++ +isElement ++ Convenience method, equivalent to calling + + -type + + and comparing it with the result of passing + "XML_ELEMENT_NODE" to + + +typeFromDescription: + + (but faster). + ++ +isText ++ Convenience method, equivalent to calling + + -type + + and comparing it with the result of passing + "XML_TEXT_NODE" to + + +typeFromDescription: + + (but faster). + ++ +lib ++ Returns a pointer to the raw libxml data used by + this document. +
Only for use by libxml experts! ++ +makeAttributeWithName: +name +value: +value ++ Create and return an attribute (unless the named + attribute already exists, in which case we update + them value of the existing attribute and + return it. + ++ +makeChildWithNamespace: +ns +name: +name +content: +content ++ ++ Creation of a new child element, added at the + end of parent children list. ns and + content parameters are optional (may be +
+nil
). If content is non +nil
, a child list containing the + TEXTs and ENTITY_REFs node will be created. Return + previous node. ++ + GSXMLNode *n1, *n2; + GSXMLDocument *d, *d1; + + d = [GSXMLDocument documentWithVersion: @"1.0"]; + [d setRoot: [d makeNodeWithNamespace: nil + name: @"plist" + content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil + name: @"dict" + content: nil]; + [n1 makeChildWithNamespace: nil name: @"key" content: @"Year Of Birth"]; + [n1 makeChildWithNamespace: nil name: @"integer" content: @"65"]; + + [n1 makeChildWithNamespace: nil name: @"key" content: @"Pets Names"]; + [n1 makeChildWithNamespace: nil name: @"array" content: nil]; + + ++ +makeComment: +content ++ Creation of a new comment element, added at the + end of parent children list. + ++ d = [GSXMLDocument documentWithVersion: @"1.0"]; + + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + [n1 makeComment: @" this is a comment "]; + ++ +makeNamespaceHref: +href +prefix: +prefix ++ Create a namespace attached to this node. + ++ +makePI: +name +content: +content ++ Creation of a new process instruction element, + added at the end of parent children list. + ++ d = [GSXMLDocument documentWithVersion: @"1.0"]; + + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + [n1 makeComment: @" this is a comment "]; + [n1 makePI: @"pi1" content: @"this is a process instruction"]; + ++ +makeText: +content ++ Creation of a new text element, added at the end + of parent children list. + ++ d = [GSXMLDocument documentWithVersion: @"1.0"]; + + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + [n1 makeText: @" this is a text "]; + ++ +name ++ Return the node-name + ++ +namespace ++ Return the namespace of the node. + ++ +namespaceDefinitions ++ Return namespace definitions for the node + ++ +next ++ Return the next node at this level. This method can + return any type of node, and it may be more + convenient to use the + + -nextElement + + node if you are parsing a document where you wish to + ignore non-element nodes such as whitespace text + separating elements. + ++ +nextElement ++ Returns the next element node, skipping past any + other node types (such as text nodes). If there is no + element node to be returned, this method returns + +nil
.
NB. This method is not + available in java, as the method name conflicts + with that of java's Enumerator class. ++ +objectForKey: +key ++ Return the attribute value for the specified + key. + ++ +parent ++ Return the parent of this node. + ++ +previous ++ Return the previous node at this level. + ++ +previousElement ++ Return the previous element node at this level. + +
NB. This method is not available in java, as + the method name conflicts with that of java's + Enumerator class. ++ +propertiesAsDictionaryWithKeyTransformationSel: +keyTransformSel ++ ++ Return attributes and values as a dictionary, but + applies the specified selector to each key before + adding the key and value to the dictionary. The + selector must be a method of NSString taking no + arguments and returning an object suitable for + use as a dictionary key. +
++ This method exists for the use of GSWeb... it is + probably not of much use elsewhere. +
++ +setNamespace: +space ++ Sets the namespace of the receiver to the value + specified. +
Supplying anil
+ namespace removes any namespace previously set or + any namespace that the node inherited from a parent + when it was created. ++ +setObject: +value +forKey: +key ++ Set (or reset) an attribute carried by a node. + ++ [n1 setObject: @"prop1" forKey: @"name1"]; + [n1 setObject: @"prop2" forKey: @"name2"]; + [n1 setObject: @"prop3" forKey: @"name3"]; + ++ +type ++ Return node-type. The most efficient way of testing + node types is to use this method and compare the + return value with a value you previously obtained + using the + + +typeFromDescription: + + method. + ++ +typeDescription ++ Return node type as a string. + ++ ++ Software documentation for the GSXMLParser class + ++ +GNUstepBase/GSXML.h ++ ++ The XML parser object is the pivotal part of parsing an + XML document - it will either build a tree representing + the document (if initialized without a GSSAXHandler), + or will cooperate with a GSSAXHandler object to provide + parsing without the overhead of building a tree. +
++ The parser may be initialized with an input source (in + which case it will expect to be asked to parse the + entire input in a single operation), or without. If + it is initialised without an input source, incremental + parsing can be done by feeding successive parts of + the XML document into the parser as NSData objects. +
++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ +loadEntity: +publicId +at: +location ++ ++ This method controls the loading of external + entities into the system. If it returns an empty + string, the entity is not loaded. If it returns a + filename, the entity is loaded from that file. + If it returns
+nil
, the default entity + loading mechanism is used. ++ The default entity loading mechanism is to construct + a file name from the locationURL, by replacing all path + separators with underscores, then attempt to + locate that file in the DTDs resource directory of + the main bundle, and all the standard system + locations. +
++ As a special case, the default loader examines the + publicID and if it is a GNUstep DTD, the loader + constructs a special name from the ID (by + replacing dots with underscores and spaces with + hyphens) and looks for a file with that name and + a '.dtd' extension in the GNUstep bundles. +
++ NB. This method will only be called if there is no + SAX handler in use, or if the corresponding method in + the SAX handler returns
+nil
. ++ +parser ++ Creation of a new Parser (for incremental parsing) + by calling + + -initWithSAXHandler: + + ++ +parserWithContentsOfFile: +path ++ Creation of a new Parser by calling + -initWithSAXHandler:withContentsOfFile: + ++ GSXMLParser *p = [GSXMLParser parserWithContentsOfFile: @"macos.xml"]; + + if ([p parse]) + { + [[p document] dump]; + } + else + { + printf("error parse file\n"); + } + ++ +parserWithContentsOfURL: +url ++ Creation of a new Parser by calling + -initWithSAXHandler:withContentsOfURL: + ++ +parserWithData: +data ++ Creation of a new Parser by calling + + -initWithSAXHandler:withData: + + ++ +parserWithSAXHandler: +handler ++ ++ Creation of a new Parser by calling + + -initWithSAXHandler: + +
++ If the handler object supplied is +
+nil
, the parser will build a tree + representing the parsed file rather than + attempting to get the handler to + deal with the parsed elements and entities. ++ +parserWithSAXHandler: +handler +withContentsOfFile: +path ++ Creation of a new Parser by calling + -initWithSAXHandler:withContentsOfFile: + ++ NSAutoreleasePool *arp = [NSAutoreleasePool new]; + GSSAXHandler *h = [GSDebugSAXHandler handler]; + GSXMLParser *p = [GSXMLParser parserWithSAXHandler: h + withContentsOfFile: @"macos.xml"]; + if ([p parse]) + { + printf("ok\n"); + } + RELEASE(arp); + ++ +parserWithSAXHandler: +handler +withContentsOfURL: +url ++ Creation of a new Parser by calling + -initWithSAXHandler:withContentsOfURL: + ++ +parserWithSAXHandler: +handler +withData: +data ++ Creation of a new Parser by calling + + -initWithSAXHandler:withData: + + ++ +setDTDs: +aPath ++ Sets a directory in which to look for DTDs when + resolving external references. Can be used whjen + DTDs have not been installed in the normal locatioons. + ++ +xmlEncodingStringForStringEncoding: +encoding ++ Return the name of the string encoding + (for XML) to use for the specified OpenStep + encoding. + ++ +abortParsing ++ If called by a SAX callback routine, this method will + terminate the parsiong process. + ++ +columnNumber ++ If executed during a parse operation, returns the + current column number. + ++ +doValidityChecking: +yesno ++ Sets whether the document needs to be validated. + ++ +document ++ Return the document produced as a result of parsing + data. + ++ +errNo ++ Return error code for last parse operation. + ++ +getWarnings: +yesno ++ Sets whether warnings are generated. + ++ +initWithSAXHandler: +handler ++ ++ Initialisation of a new Parser with SAX + handler. +
++ If the handler object supplied is +
+nil
, the parser will use an instance + of + GSTreeSAXHandler + to build a tree representing the parsed file. This + tree will then be available (via the + + -document + + method) as a + GSXMLDocumenton completion of parsing.+ The source for the parsing process is not + specified - so parsing must be done + incrementally by feeding data to the + parser. +
++ +initWithSAXHandler: +handler +withContentsOfFile: +path ++ ++ Initialisation of a new Parser with SAX + handler (if not
+nil
) by + calling + + -initWithSAXHandler: + ++ Sets the input source for the parser to be the + specified file - so parsing of the entire file + will be performed rather than incremental parsing. +
++ +initWithSAXHandler: +handler +withContentsOfURL: +url ++ ++ Initialisation of a new Parser with SAX + handler (if not
+nil
) by + calling + + -initWithSAXHandler: + ++ Sets the input source for the parser to be the + specified URL - so parsing of the entire + document will be performed rather than + incremental parsing. +
++ +initWithSAXHandler: +handler +withData: +data ++ ++ Initialisation of a new Parser with SAX + handler (if not
+nil
) by + calling + + -initWithSAXHandler: + ++ Sets the input source for the parser to be the + specified data object (which must + contain an XML document), so parsing of the + entire document will be performed rather than + incremental parsing. +
++ +initWithSAXHandler: +handler +withInputStream: +stream ++ ++ Initialisation of a new Parser with SAX + handler (if not
+nil
) by + calling + + -initWithSAXHandler: + ++ Sets the input source for the parser to be the + specified input stream, so parsing + of the entire document will be performed rather than + incremental parsing. +
++ +keepBlanks: +yesno ++ Set and return the previous value for blank text nodes + support. ignorableWhitespace nodes are only + generated when running the parser in validating + mode and when the current element doesn't allow CDATA + or mixed content. + ++ +lineNumber ++ If executed during a parse operation, returns the + current line number. + ++ +messages ++ Returns the string into which warning and error + messages are saved, or +nil
if they + are being written to stderr. ++ +parse ++ Parse source. Return +YES
if parsed as + valid, otherwiseNO
. If validation + against a DTD is not enabled, the return value + simply indicates whether the xml was well formed. +
This method should be called once to parse + the entire document. ++ GSXMLParser *p = [GSXMLParser parserWithContentsOfFile:@"macos.xml"]; + + if ([p parse]) + { + [[p doc] dump]; + } + else + { + printf("error parse file\n"); + } + ++ +parse: +data ++ ++ Pass data to the parser for incremental + parsing. This method should be called many + times, with each call passing another block of + data from the same document. After the + whole of the document has been parsed, the method + should be called with an empty or
+nil
+ data object to indicate end of parsing. + On this final call, the return value indicates whether + the document was valid or not. If validation to a DTD + is not enabled, the return value simply indicates + whether the xml was well formed. ++ GSXMLParser *p = [GSXMLParser parserWithSAXHandler: nil source: nil]; + + while ((data = getMoreData()) != nil) + { + if ([p parse: data] == NO) + { + NSLog(@"parse error"); + } + } + // Do something with document parsed + [p parse: nil]; // Completed parsing of document. + ++ +publicID ++ Return the public ID of the document being parsed. + ++ +resolveEntities: +yesno ++ Description forthcoming. + ++ +saveMessages: +yesno ++ Sets up (or removes) a mutable string to which error + and warning messages are saved. Using an argument of + +NO
will cause these messages to be + written to stderr (the default).
NB. A SAX + handler which overrides the error and warning + logging messages may stop this mechanism operating. ++ +substituteEntities: +yesno ++ Set and return the previous value for entity support. + Initially the parser always keeps entity + references instead of substituting entity values + in the output. + ++ +systemID ++ Return the system ID of the document being parsed. + ++ ++ Software documentation for the GSXMLRPC class + ++ +GNUstepBase/GSXML.h +NSURLHandleClient ++ ++ The GSXMLRPC class provides methods for constructing + and parsing XMLRPC method call and response documents + ... so that calls may be constructed of standard + objects. +
++ The correspondence between XMLRPC values and + Objective-C objects is as follows - +
++
+- + i4 (or + int) is an + NSNumber + other than a real/float or boolean. +
+- + boolean is an + NSNumber + created as a BOOL. +
+- + string is an + NSString + object. +
+- + double is an + NSNumber + created as a float or + double. +
+- + dateTime.iso8601 is an + NSDate + object. +
+- + base64 is an + NSData + object. +
+- + array is an + NSArray + object. +
+- + struct is an + NSDictionaryobject.
++ If you attempt to use any other type of + object in the construction of an + XMLRPC document, the + [NSObject -description] method of that object will be used to create a striong, and the resulting object will be encoded as an XMLRPC string element. +
++ In particular, the names of members in a + struct must be strings, so if + you provide an + NSDictionaryobject to represent a struct the keys of the dictionary will be converted to strings if necessary.
++ The class also provides a method for + making a synchronous XMLRPC method + call (with timeout), or an + asynchronous call in which + the call completion is handled by a + delegate. +
++ You may also use the class to + implement an XMLRPC server, by + calling the + -parseMethod:params: method to parse the data POSTed to your server, and -buildResponseWithParams: (or -buildResponseWithFaultCode:andString:) to produce the data to be sent back to the client. +
++ In order to simply make a synchronous + XMLRPC call to a server, all you + need to do is write code like: +
++ GSXMLRPC *server = [[GSXMLRPC alloc] initWithURL: @"http://server/path"]; + id result = [server makeMethodCall: name params: p timeout: 30]; + ++ Saying that you want to call the specified method + ('name') on the server, passing the parameters + ('p') and with a 30 second timeout.
+
If there + is a network or http-level error or a timeout, the + result will be an error string, otherwise it will be + an array (on success) or a dictionary containing the + fault details. ++ +URLHandle: +sender +resourceDataDidBecomeAvailable: +newData ++ Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++ +URLHandle: +sender +resourceDidFailLoadingWithReason: +reason ++ Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++ +URLHandleResourceDidBeginLoading: +sender ++ Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++ +URLHandleResourceDidCancelLoading: +sender ++ Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++ +URLHandleResourceDidFinishLoading: +sender ++ Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++ +buildMethod: +method +params: +params ++ Given a method name and an array of + parameters, this method constructs + the XML document for the corresponding XMLRPC call and + returns the document as an NSData object containing + UTF-8 text. +
The params array may be + empty ornil
if there are no parameters + to be passed.
The method returns +nil
if passed an invalid + method name (a method name may + contain any of the ascii alphanumeric characters + and underscore, fullstop, colon, or slash).
This + method is used internally when sending an + XMLRPC method call to a remote system, + but you can also call it yourself. ++ +buildMethodCall: +method +params: +params ++ Given a method name and an array of + parameters, this method constructs + the XML document for the corresponding XMLRPC call and + returns the document as a string. +
The + params array may be empty or +nil
if there are no parameters to be + passed.
The method returns +nil
if passed an invalid + method name (a method name may + contain any of the ascii alphanumeric characters + and underscore, fullstop, colon, or slash).
++ +buildResponseWithFaultCode: +code +andString: +s ++ Constructs an XML document for an XMLRPC fault + response with the specified code and + string. The resulting document is returned as a + string. +
This method is intended for use by + applications acting as XMLRPC servers. ++ +buildResponseWithParams: +params ++ Builds an XMLRPC response with the specified array + of parameters and returns the document as a string. + +
The params array may be empty or +nil
if there are no parameters to be + returned (an empty params element will + be created).
This method is intended for use by + applications acting as XMLRPC servers. ++ +compact ++ Return the value set by a prior call to + + -setCompact: + + (or +NO
... the default). ++ +delegate ++ Returns the delegate previously set by the + + -setDelegate: + + method. +
The delegate handles completion of + asynchronous method calls to the URL specified + when the receiver was initialised (if any). ++ +initWithURL: +url ++ Initialise the receiver to make XMLRPC calls to + the specified URL. +
This method just calls + -initWithURL:certificate:privateKey:password: withnil
arguments for the SSL credentials. ++ +initWithURL: +url +certificate: +cert +privateKey: +pKey +password: +pwd ++ Initialise the receiver to make XMLRPC calls to + the specified url and (optionally) with the + specified SSL parameters. +
The + url argument may benil
, in + which case the receiver will be unable to make XMLRPC + calls, but can be used to parse incoming requests + and build responses.
If the SSL credentials are + non-nil, connections to the remote server will be + authenticated using the supplied certificate + so that the remote system knows who is contacting it. ++ +makeMethodCall: +method +params: +params +timeout: +seconds ++ Calls + + -sendMethodCall:params:timeout: + + and waits for the response. +
Returns the response + parameters (an array), the response fault (a + dictionary), or a failure reason (a string). ++ +parseMethod: +request +params: +params ++ Parses XML data containing an XMLRPC method call. + +
Returns the name of the method call.
+ Empties, and then places the method parameters (if + any) in the params argument.
NB. Any + containers (arrays or dictionaries) in the + parsed parameters will be mutable, so you can modify + this data structure as you like.
Raises an + exception if parsing fails.
This method is + intended for the use of XMLRPC server + applications. ++ +parseResponse: +resp +params: +params ++ Parses XML data containing an XMLRPC method + response. +
Returnsnil
for + success, the fault dictionary on failure.
+ Places the response parameters (if any) in the + params argument.
NB. Any containers + (arrays or dictionaries) in the parsed parameters + will be mutable, so you can modify this data structure + as you like.
Raises an exception if parsing + fails.
Used internally when making a method + call to a remote server. ++ +result ++ Returns the result of the last method call, or + +nil
if there has been no method call or + one is in progress.
The result may be one of - ++
+ NB. Any containers (arrays or dictionaries) in the + parsed parameters of a success response will be + mutable, so you can modify this data structure as + you like. +- + A mutable array... the parameters of a success + response. +
+- + A dictionary... containing a fault response. +
+- + A string... describing a low-level failure (eg. + timeout). +
++ +sendMethodCall: +method +params: +params +timeout: +seconds ++ Send an asynchronous XMLRPC method call + with the specified timeout. +
A delegate should + have been set to handle the result of this call, but + if one was not set the state of the asynchronous call + may be polled by calling the + + -result + + method, which will returnnil
+ as long as the call has not completed. +
The call may be cancelled by calling the + + -timeout: + + method
This method + returnsYES
if the call was started, +NO
if it could not be started (eg + because another call is in progress or because of + bad arguments).
NB. For the asynchronous + operation to proceed, the current + NSRunLoop + must be run. ++ +setCompact: +flag ++ Specify whether to generate compact XML (omit + indentation and other white space and omit + <string> element markup). +
+ Compact representation saves some space (can be + important when sent over slow/low bandwidth + connections), but sacrifices readability. ++ +setDebug: +flag ++ Specify whether to perform debug trace on I/O + +
Return the previous value ++ +setDelegate: +aDelegate ++ Sets the delegate object which will receive callbacks + when an XMLRPC call completes. +
NB. this + delegate is not retained, and should be + removed before it is deallocated (call + + -setDelegate: + + again with anil
argument to remove the + delegate). ++ +setTimeZone: +timeZone ++ Sets the time zone for use when sending/receiving + date/time values. +
The XMLRPC specification + says that timezone is server dependent so you will + need to set it according to the server you are + connecting to.
If this is not set, UCT is + assumed. ++ +timeZone ++ Return the time zone currently set. + ++ +timeout: +t ++ Handles timeouts, passing information to delegate + ... you don't need to call this method, but you + may call it in order to cancel an + asynchronous request as if it had timed out. + ++ ++ Software documentation for the GSXPathBoolean class + ++ +GNUstepBase/GSXML.h ++ For XPath queries returning true/false. + ++ +booleanValue ++ Returns the the value of the receiver... YES/NO, + true/false. + ++ ++ Software documentation for the GSXPathContext class + ++ +GNUstepBase/GSXML.h ++ ++ Use of the GSXPathContext class is simple... you just + need to look up xpath to learn the syntax of xpath + expressions, then you can apply those + expressions to a context to retrieve data from + a document. +
++ GSXMLParser *p = [GSXMLParser parserWithContentsOfFile: @"xp.xml"]; + + if ([p parse]) + { + GSXMLDocument *d = [p document]; + GSXPathContext *c = [[GSXPathContext alloc] initWithDocument: document]; + GSXPathString *result = [c evaluateExpression: @"string(/body/text())"]; + + GSPrintf(stdout, @"Got %@", [result stringValue]); + } + else + { + GSPrintf(stderr, "error parsing file\n"); + } + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ +evaluateExpression: +XPathExpression ++ Evaluates the supplied expression and returns the + resulting node or node set. If the expression is + invalid, returns +nil
. ++ +initWithDocument: +d ++ Initialises the receiver as an xpath parser for + the supplied document. + ++ +registerNamespaceWithPrefix: +prefix +href: +href ++ Description forthcoming. + ++ ++ Software documentation for the GSXPathNodeSet class + ++ +GNUstepBase/GSXML.h ++ For XPath queries returning a node set. +
An XPATH + node set is an ordered set of nodes returned as a result + of an expression. The order of the nodes in the set is the + same as the order in the xml document from which they + were extracted. ++ +count ++ Returns the number of nodes in the receiver. + ++ +length ++ Deprecated + ++ +nodeAtIndex: +index ++ Please note that index starts from 0. + +
Returns the node from the receiver at the + specified index, ornil
+ if no such node exists. ++ ++ Software documentation for the GSXPathNumber class + ++ +GNUstepBase/GSXML.h ++ For XPath queries returning a number. + ++ +doubleValue ++ Returns the floating point (double + ) value of the receiver. + ++ ++ Software documentation for the GSXPathObject class + ++ +GNUstepBase/GSXML.h ++ XPath queries return a GSXPathObject. GSXPathObject in + itself is an abstract class; there are four types of + completely different GSXPathObject types, listed + below. I'm afraid you need to check the returned type + of each GSXPath query to make sure it's what you meant it + to be. +
++ You don't create GSXPathObject instances, instead the + XPATH system creates them and returns them as the + result of the + [GSXPathContext -evaluateExpression:] method. +
++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++ ++ Software documentation for the GSXPathString class + ++ +GNUstepBase/GSXML.h ++ For XPath queries returning a string. + ++ +stringValue ++ Returns the string value of the receiver. + ++ ++ Software documentation for the GSXMLDocument(XSLT) + category + ++ +GNUstepBase/GSXML.h ++ Description forthcoming. + ++ +xsltTransformFile: +xmlFile +stylesheet: +xsltStylesheet ++ Performs an XSLT transformation on the specified + file using the stylesheet provided. +
Returns an + autoreleased GSXMLDocument containing the + transformed XML, ornil
on + failure. ++ +xsltTransformFile: +xmlFile +stylesheet: +xsltStylesheet +params: +params ++ Performs an XSLT transformation on the specified + file using the stylesheet and parameters provided. See + the libxslt documentation for details of the supported + parameters. +
Returns an autoreleased + GSXMLDocument containing the transformed XML, + ornil
on failure. ++ +xsltTransformXml: +xmlData +stylesheet: +xsltStylesheet ++ Performs an XSLT transformation on the specified + file using the stylesheet provided. +
Returns an + autoreleased GSXMLDocument containing the + transformed XML, ornil
on + failure. ++ +xsltTransformXml: +xmlData +stylesheet: +xsltStylesheet +params: +params ++ Performs an XSLT transformation on the specified + file using the stylesheet and parameters provided.See + the libxslt documentation for details of the supported + parameters. +
Returns an autoreleased + GSXMLDocument containing the transformed XML, + ornil
on failure. ++ +xsltTransform: +xsltStylesheet ++ Performs an XSLT transformation on the current + document using the supplied stylesheet. +
+ Returns an autoreleased GSXMLDocument containing + the transformed XML, ornil
on failure. ++ +xsltTransform: +xsltStylesheet +params: +params ++ Performs an XSLT transformation on the current + document using the supplied stylesheet and + paramaters (params may be + +nil
). See the libxslt documentation for + details of the supported parameters.
Returns + an autoreleased GSXMLDocument containing the transformed + XML, ornil
on failure. ++ ++ Software documentation for the GSXMLRPC(Delegate) + category + ++ +GNUstepBase/GSXML.h ++ Delegates should implement this method in order to + be informed of the success or failure of an XMLRPC method + call which was initiated by the + + -sendMethodCall:params:timeout: + + method. +
++ +completedXMLRPC: +sender ++ Called by the sender when an XMLRPC + method call completes (either success or failure). + The delegate may then call the + + -result + + method to retrieve the result of the method call + from the sender. + ++ + ++ Software documentation for the NSString(GSXML) + category + ++ +GNUstepBase/GSXML.h ++ Convenience methods for managing XML escape + sequences in an NSString. + ++ +stringByEscapingXML ++ Deals with standard XML internal entities. +
+ Converts the five XML special characters in the + receiver ('>', '<', '&', ''' and + '"') to their escaped equivalents, and + return the escaped string.
Also converts + non-ascii characters to the corresponding numeric + entity escape sequences.
You should perform + any non-standard entity substitution you require + after you have called this method. ++ +stringByUnescapingXML ++ Deals with standard XML internal entities. +
+ Converts the five XML escape sequences + ('>', '<', '&', + ''' and '"') to the unicode + characters they represent, and returns the + unescaped string.
Also converts numeric + entity escape sequences to the corresponding unicode + characters.
You should perform any + non-standard entity substitution you require + before you have called this method. +Authors
+ Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2000-2005 Free Software Foundation, Inc.
@@ -108,7 +109,7 @@@@ -183,7 +184,7 @@The XML and HTML parsing system
Software documentation for the GSHTMLParser class
-GSHTMLParser : GSXMLParser
+GSHTMLParser : GSXMLParser
- Declared in:
@@ -132,7 +133,7 @@GSHTMLParser : Software documentation for the GSHTMLSAXHandler class -
GSHTMLSAXHandler : GSSAXHandler
+GSHTMLSAXHandler : GSSAXHandler
- Declared in:
@@ -149,7 +150,7 @@GSHTMLSAXHandler : GSSAXHandler + GSSAXHandler
GSSAXHandler : NSObject
GSSAXHandler is a callback-based interface to the - GSXMLParser + GSXMLParser which operates in a similar (though not identical) manner to SAX. @@ -219,7 +220,7 @@GSSAXHandler : NSObject
If you create a GSXMLParser passingnil
as the GSSAXHandler, the parser will parse data to create a - GSXMLDocument + GSXMLDocument instance which you can then examine as a whole ... this is generally the preferred mechanism for @@ -241,48 +242,48 @@GSSAXHandler : NSObject
Method summary-
- +handler
-- -attribute:value:
-- -attributeDecl:name:type:typeDefValue:defaultValue:
-- -cdataBlock:
-- -characters:
-- -comment:
-- -elementDecl:type:
-- -endDocument
-- -endElement:
-- -endElement:prefix:href:
-- -entityDecl:type:public:system:content:
-- -error:
-- -error:colNumber:lineNumber:
-- -externalSubset:externalID:systemID:
-- -fatalError:
-- -fatalError:colNumber:lineNumber:
-- -getEntity:
-- -getParameterEntity:
-- -globalNamespace:href:prefix:
-- -hasExternalSubset
-- -hasInternalSubset
-- -ignoreWhitespace:
-- -internalSubset:externalID:systemID:
-- -isStandalone
-- -lib
-- -loadEntity:at:
-- -namespaceDecl:href:prefix:
-- -notationDecl:public:system:
-- -parser
-- -processInstruction:data:
-- -reference:
-- -startDocument
-- -startElement:attributes:
-- -startElement:prefix:href:attributes:namespaces:
-- -unparsedEntityDecl:public:system:notationName:
-- -warning:
-- -warning:colNumber:lineNumber:
+- +handler
+- -attribute:value:
+- -attributeDecl:name:type:typeDefValue:defaultValue:
+- -cdataBlock:
+- -characters:
+- -comment:
+- -elementDecl:type:
+- -endDocument
+- -endElement:
+- -endElement:prefix:href:
+- -entityDecl:type:public:system:content:
+- -error:
+- -error:colNumber:lineNumber:
+- -externalSubset:externalID:systemID:
+- -fatalError:
+- -fatalError:colNumber:lineNumber:
+- -getEntity:
+- -getParameterEntity:
+- -globalNamespace:href:prefix:
+- -hasExternalSubset
+- -hasInternalSubset
+- -ignoreWhitespace:
+- -internalSubset:externalID:systemID:
+- -isStandalone
+- -lib
+- -loadEntity:at:
+- -namespaceDecl:href:prefix:
+- -notationDecl:public:system:
+- -parser
+- -processInstruction:data:
+- -reference:
+- -startDocument
+- -startElement:attributes:
+- -startElement:prefix:href:attributes:namespaces:
+- -unparsedEntityDecl:public:system:notationName:
+- -warning:
+- -warning:colNumber:lineNumber:
handler
- + (GSSAXHandler*) handler;
+ + (GSSAXHandler*) handler;
Availability: Not in OpenStep/MacOS-X
@@ -310,7 +311,7 @@attribute: value: <
attributeDecl: name: type: typeDefValue: defaultValue:
- - (void) attributeDecl: (NSString*)nameElement name: (NSString*)name type: (NSInteger)type typeDefValue: (NSInteger)defType defaultValue: (NSString*)value;
+ - (void) attributeDecl: (NSString*)nameElement name: (NSString*)name type: (NSInteger)type typeDefValue: (NSInteger)defType defaultValue: (NSString*)value;
Availability: Not in OpenStep/MacOS-X
@@ -366,7 +367,7 @@comment:
elementDecl: type:
- - (void) elementDecl: (NSString*)name type: (NSInteger)type;
+ - (void) elementDecl: (NSString*)name type: (NSInteger)type;
Availability: Not in OpenStep/MacOS-X
@@ -423,7 +424,7 @@endElement: prefi
entityDecl: type: public: system: content:
- - (void) entityDecl: (NSString*)name type: (NSInteger)type public: (NSString*)publicId system: (NSString*)systemId content: (NSString*)content;
+ - (void) entityDecl: (NSString*)name type: (NSInteger)type public: (NSString*)publicId system: (NSString*)systemId content: (NSString*)content;
Availability: Not in OpenStep/MacOS-X
@@ -450,7 +451,7 @@error:
error: colNumber: lineNumber:
- - (void) error: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
+ - (void) error: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
Availability: Not in OpenStep/MacOS-X
@@ -491,7 +492,7 @@fatalError:
fatalError: colNumber: lineNumber:
- - (void) fatalError: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
+ - (void) fatalError: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
Availability: Not in OpenStep/MacOS-X
@@ -545,7 +546,7 @@globalNamespace:&
hasExternalSubset
- - (NSInteger) hasExternalSubset;
+ - (NSInteger) hasExternalSubset;
Availability: Not in OpenStep/MacOS-X
@@ -559,7 +560,7 @@hasExternalSubset <
hasInternalSubset
- - (NSInteger) hasInternalSubset;
+ - (NSInteger) hasInternalSubset;
Availability: Not in OpenStep/MacOS-X
@@ -602,7 +603,7 @@internalSu
isStandalone
- - (NSInteger) isStandalone;
+ - (NSInteger) isStandalone;
Availability: Not in OpenStep/MacOS-X
@@ -672,7 +673,7 @@notationDecl: 
parser
- - (GSXMLParser*) parser;
+ - (GSXMLParser*) parser;
Availability: Not in OpenStep/MacOS-X
@@ -786,7 +787,7 @@warning:
warning: colNumber: lineNumber:
- - (void) warning: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
+ - (void) warning: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
Availability: Not in OpenStep/MacOS-X
@@ -837,7 +838,7 @@parser
Software documentation for the GSTreeSAXHandler class
-GSTreeSAXHandler : GSSAXHandler
+GSTreeSAXHandler : GSSAXHandler
- Declared in:
@@ -859,7 +860,7 @@GSTreeSAXHandler : Software documentation for the GSXMLAttribute class -
GSXMLAttribute : GSXMLNode
+GSXMLAttribute : GSXMLNode
- Declared in:
@@ -875,7 +876,7 @@GSXMLAttribute : + [GSXMLNode -objectForKey:] @@ -885,7 +886,7 @@
GSXMLAttribute : -value +
- -value
@@ -932,27 +933,27 @@GSXMLDocument : NSObject
Method summary-
- +xsltTransformFile:stylesheet:
-- +xsltTransformFile:stylesheet:params:
-- +xsltTransformXml:stylesheet:
-- +xsltTransformXml:stylesheet:params:
-- -xsltTransform:
-- -xsltTransform:params:
-- +documentWithVersion:
-- -description
-- -encoding
-- -lib
-- -makeNodeWithNamespace:name:content:
-- -root
-- -setRoot:
-- -version
-- -writeToFile:atomically:
-- -writeToURL:atomically:
+- +xsltTransformFile:stylesheet:
+- +xsltTransformFile:stylesheet:params:
+- +xsltTransformXml:stylesheet:
+- +xsltTransformXml:stylesheet:params:
+- -xsltTransform:
+- -xsltTransform:params:
+- +documentWithVersion:
+- -description
+- -encoding
+- -lib
+- -makeNodeWithNamespace:name:content:
+- -root
+- -setRoot:
+- -version
+- -writeToFile:atomically:
+- -writeToURL:atomically:
documentWithVersion:
- + (GSXMLDocument*) documentWithVersion: (NSString*)version;
+ + (GSXMLDocument*) documentWithVersion: (NSString*)version;
Availability: Not in OpenStep/MacOS-X
@@ -1022,7 +1023,7 @@lib
makeNodeWithNamespace: name: content:
- - (GSXMLNode*) makeNodeWithNamespace: (GSXMLNamespace*)ns name: (NSString*)name content: (NSString*)content;
+ - (GSXMLNode*) makeNodeWithNamespace: (GSXMLNamespace*)ns name: (NSString*)name content: (NSString*)content;
Availability: Not in OpenStep/MacOS-X
@@ -1046,7 +1047,7 @@makeNodeW
root
- - (GSXMLNode*) root;
+ - (GSXMLNode*) root;
Availability: Not in OpenStep/MacOS-X
@@ -1059,7 +1060,7 @@root
@@ -1096,7 +1097,7 @@setRoot:
- - (GSXMLNode*) setRoot: (GSXMLNode*)node;
+ - (GSXMLNode*) setRoot: (GSXMLNode*)node;
Availability: Not in OpenStep/MacOS-X
@@ -1068,7 +1069,7 @@setRoot:
Sets the root of the document.
NB. The node must have been created as part of the receiving document (eg. using the - -makeNodeWithNamespace:name:content: + -makeNodeWithNamespace:name:content: method).writeToFile: ato
Uses the - + -description @@ -1115,7 +1116,7 @@writeToURL: atomi
Uses the - + -description @@ -1200,19 +1201,19 @@GSXMLNamespace : NSObject
Method summary-
- +descriptionFromType:
-- +typeFromDescription:
-- -href
-- -lib
-- -next
-- -prefix
-- -type
-- -typeDescription
+- +descriptionFromType:
+- +typeFromDescription:
+- -href
+- -lib
+- -next
+- -prefix
+- -type
+- -typeDescription
descriptionFromType:
- + (NSString*) descriptionFromType: (NSInteger)type;
+ + (NSString*) descriptionFromType: (NSInteger)type;
Availability: Not in OpenStep/MacOS-X
@@ -1226,7 +1227,7 @@descriptionFromType:&nb
typeFromDescription:
- + (NSInteger) typeFromDescription: (NSString*)desc;
+ + (NSInteger) typeFromDescription: (NSString*)desc;
Availability: Not in OpenStep/MacOS-X
@@ -1276,7 +1277,7 @@lib
next
- - (GSXMLNamespace*) next;
+ - (GSXMLNamespace*) next;
Availability: Not in OpenStep/MacOS-X
@@ -1302,7 +1303,7 @@prefix
type
- - (NSInteger) type;
+ - (NSInteger) type;
Availability: Not in OpenStep/MacOS-X
@@ -1388,44 +1389,44 @@GSXMLNode : NSObject
Method summary-
- +descriptionFromType:
-- +typeFromDescription:
-- -attributes
-- -content
-- -description
-- -document
-- -escapedContent
-- -firstAttribute
-- -firstChild
-- -firstChildElement
-- -isElement
-- -isText
-- -lib
-- -makeAttributeWithName:value:
-- -makeChildWithNamespace:name:content:
-- -makeComment:
-- -makeNamespaceHref:prefix:
-- -makePI:content:
-- -makeText:
-- -name
-- -namespace
-- -namespaceDefinitions
-- -next
-- -nextElement
-- -objectForKey:
-- -parent
-- -previous
-- -previousElement
-- -propertiesAsDictionaryWithKeyTransformationSel:
-- -setNamespace:
-- -setObject:forKey:
-- -type
-- -typeDescription
+- +descriptionFromType:
+- +typeFromDescription:
+- -attributes
+- -content
+- -description
+- -document
+- -escapedContent
+- -firstAttribute
+- -firstChild
+- -firstChildElement
+- -isElement
+- -isText
+- -lib
+- -makeAttributeWithName:value:
+- -makeChildWithNamespace:name:content:
+- -makeComment:
+- -makeNamespaceHref:prefix:
+- -makePI:content:
+- -makeText:
+- -name
+- -namespace
+- -namespaceDefinitions
+- -next
+- -nextElement
+- -objectForKey:
+- -parent
+- -previous
+- -previousElement
+- -propertiesAsDictionaryWithKeyTransformationSel:
+- -setNamespace:
+- -setObject:forKey:
+- -type
+- -typeDescription
descriptionFromType:
- + (NSString*) descriptionFromType: (NSInteger)type;
+ + (NSString*) descriptionFromType: (NSInteger)type;
Availability: Not in OpenStep/MacOS-X
@@ -1439,7 +1440,7 @@descriptionFromType:
typeFromDescription:
- + (NSInteger) typeFromDescription: (NSString*)desc;
+ + (NSInteger) typeFromDescription: (NSString*)desc;
Availability: Not in OpenStep/MacOS-X
@@ -1451,7 +1452,7 @@typeFromDescription: Converts a node type string to a numeric constant which can be compared with the result - of the -type + of the -type method to determine what sort of node an instance is. Because this method is quite inefficient, you @@ -1565,7 +1566,7 @@
content
and '&'. If you with to receive content in which these characters are represented by the original entity escapes, you need to use the - + -escapedContent @@ -1591,7 +1592,7 @@description
document
- - (GSXMLDocument*) document;
+ - (GSXMLDocument*) document;
Availability: Not in OpenStep/MacOS-X
@@ -1611,7 +1612,7 @@escapedContent
firstAttribute
- - (GSXMLAttribute*) firstAttribute;
+ - (GSXMLAttribute*) firstAttribute;
Availability: Not in OpenStep/MacOS-X
@@ -1639,7 +1640,7 @@firstAttribute
firstChild
- - (GSXMLNode*) firstChild;
+ - (GSXMLNode*) firstChild;
Availability: Not in OpenStep/MacOS-X
@@ -1675,7 +1676,7 @@firstChild
firstChildElement
- - (GSXMLNode*) firstChildElement;
+ - (GSXMLNode*) firstChildElement;
Availability: Not in OpenStep/MacOS-X
@@ -1684,7 +1685,7 @@firstChildElement
+ -firstChild @@ -1702,13 +1703,13 @@isElement
Convenience method, equivalent to calling - + -type and comparing it with the result of passing "XML_ELEMENT_NODE" to - + +typeFromDescription: @@ -1726,13 +1727,13 @@isText
Convenience method, equivalent to calling - + -type and comparing it with the result of passing "XML_TEXT_NODE" to - + +typeFromDescription: @@ -1757,7 +1758,7 @@lib
makeAttributeWithName: value:
- - (GSXMLAttribute*) makeAttributeWithName: (NSString*)name value: (NSString*)value;
+ - (GSXMLAttribute*) makeAttributeWithName: (NSString*)name value: (NSString*)value;
Availability: Not in OpenStep/MacOS-X
@@ -1773,7 +1774,7 @@makeAttributeWithNam
makeChildWithNamespace: name: content:
- - (GSXMLNode*) makeChildWithNamespace: (GSXMLNamespace*)ns name: (NSString*)name content: (NSString*)content;
+ - (GSXMLNode*) makeChildWithNamespace: (GSXMLNamespace*)ns name: (NSString*)name content: (NSString*)content;
Availability: Not in OpenStep/MacOS-X
@@ -1821,7 +1822,7 @@makeChildWit
makeComment:
- - (GSXMLNode*) makeComment: (NSString*)content;
+ - (GSXMLNode*) makeComment: (NSString*)content;
Availability: Not in OpenStep/MacOS-X
@@ -1845,7 +1846,7 @@makeComment:
makeNamespaceHref: prefix:
- - (GSXMLNamespace*) makeNamespaceHref: (NSString*)href prefix: (NSString*)prefix;
+ - (GSXMLNamespace*) makeNamespaceHref: (NSString*)href prefix: (NSString*)prefix;
Availability: Not in OpenStep/MacOS-X
@@ -1858,7 +1859,7 @@makeNamespaceHref: 
makePI: content:
- - (GSXMLNode*) makePI: (NSString*)name content: (NSString*)content;
+ - (GSXMLNode*) makePI: (NSString*)name content: (NSString*)content;
Availability: Not in OpenStep/MacOS-X
@@ -1883,7 +1884,7 @@makePI: content:
makeText:
- - (GSXMLNode*) makeText: (NSString*)content;
+ - (GSXMLNode*) makeText: (NSString*)content;
Availability: Not in OpenStep/MacOS-X
@@ -1920,7 +1921,7 @@name
namespace
- - (GSXMLNamespace*) namespace;
+ - (GSXMLNamespace*) namespace;
Availability: Not in OpenStep/MacOS-X
@@ -1933,7 +1934,7 @@namespace
namespaceDefinitions
- - (GSXMLNamespace*) namespaceDefinitions;
+ - (GSXMLNamespace*) namespaceDefinitions;
Availability: Not in OpenStep/MacOS-X
@@ -1946,7 +1947,7 @@namespaceDefinitions
next
- - (GSXMLNode*) next;
+ - (GSXMLNode*) next;
Availability: Not in OpenStep/MacOS-X
@@ -1955,7 +1956,7 @@next
Return the next node at this level. This method can return any type of node, and it may be more convenient to use the - + -nextElement @@ -1968,7 +1969,7 @@next
nextElement
- - (GSXMLNode*) nextElement;
+ - (GSXMLNode*) nextElement;
Availability: Not in OpenStep/MacOS-X
@@ -2000,7 +2001,7 @@objectForKey:
parent
- - (GSXMLNode*) parent;
+ - (GSXMLNode*) parent;
Availability: Not in OpenStep/MacOS-X
@@ -2013,7 +2014,7 @@parent
previous
- - (GSXMLNode*) previous;
+ - (GSXMLNode*) previous;
Availability: Not in OpenStep/MacOS-X
@@ -2026,7 +2027,7 @@previous
previousElement
- - (GSXMLNode*) previousElement;
+ - (GSXMLNode*) previousElement;
Availability: Not in OpenStep/MacOS-X
@@ -2076,7 +2077,7 @@p
setNamespace:
- - (void) setNamespace: (GSXMLNamespace*)space;
+ - (void) setNamespace: (GSXMLNamespace*)space;
Availability: Not in OpenStep/MacOS-X
@@ -2113,7 +2114,7 @@setObject: forKey:
type
- - (NSInteger) type;
+ - (NSInteger) type;
Availability: Not in OpenStep/MacOS-X
@@ -2123,7 +2124,7 @@type
node types is to use this method and compare the return value with a value you previously obtained using the - + +typeFromDescription: @@ -2222,36 +2223,38 @@GSXMLParser : NSObject
Method summary-
- +loadEntity:at:
-- +parser
-- +parserWithContentsOfFile:
-- +parserWithContentsOfURL:
-- +parserWithData:
-- +parserWithSAXHandler:
-- +parserWithSAXHandler:withContentsOfFile:
-- +parserWithSAXHandler:withContentsOfURL:
-- +parserWithSAXHandler:withData:
-- +setDTDs:
-- +xmlEncodingStringForStringEncoding:
-- -abortParsing
-- -columnNumber
-- -doValidityChecking:
-- -document
-- -errNo
-- -getWarnings:
-- -initWithSAXHandler:
-- -initWithSAXHandler:withContentsOfFile:
-- -initWithSAXHandler:withContentsOfURL:
-- -initWithSAXHandler:withData:
-- -keepBlanks:
-- -lineNumber
-- -messages
-- -parse
-- -parse:
-- -publicID
-- -saveMessages:
-- -substituteEntities:
-- -systemID
+- +loadEntity:at:
+- +parser
+- +parserWithContentsOfFile:
+- +parserWithContentsOfURL:
+- +parserWithData:
+- +parserWithSAXHandler:
+- +parserWithSAXHandler:withContentsOfFile:
+- +parserWithSAXHandler:withContentsOfURL:
+- +parserWithSAXHandler:withData:
+- +setDTDs:
+- +xmlEncodingStringForStringEncoding:
+- -abortParsing
+- -columnNumber
+- -doValidityChecking:
+- -document
+- -errNo
+- -getWarnings:
+- -initWithSAXHandler:
+- -initWithSAXHandler:withContentsOfFile:
+- -initWithSAXHandler:withContentsOfURL:
+- -initWithSAXHandler:withData:
+- -initWithSAXHandler:withInputStream:
+- -keepBlanks:
+- -lineNumber
+- -messages
+- -parse
+- -parse:
+- -publicID
+- -resolveEntities:
+- -saveMessages:
+- -substituteEntities:
+- -systemID
@@ -2317,7 +2320,7 @@loadEntity: at:
parser
- + (GSXMLParser*) parser;
+ + (GSXMLParser*) parser;
Availability: Not in OpenStep/MacOS-X
@@ -2325,7 +2328,7 @@parser
Creation of a new Parser (for incremental parsing) by calling - + -initWithSAXHandler: @@ -2335,14 +2338,14 @@parser
parserWithContentsOfFile:
- + (GSXMLParser*) parserWithContentsOfFile: (NSString*)path;
+ + (GSXMLParser*) parserWithContentsOfFile: (NSString*)path;
Availability: Not in OpenStep/MacOS-X
Creation of a new Parser by calling - -initWithSAXHandler:withContentsOfFile: + -initWithSAXHandler:withContentsOfFile:@@ -2364,14 +2367,14 @@parserWithContentsOfF
parserWithContentsOfURL:
- + (GSXMLParser*) parserWithContentsOfURL: (NSURL*)url;
+ + (GSXMLParser*) parserWithContentsOfURL: (NSURL*)url;
Availability: Not in OpenStep/MacOS-X
Creation of a new Parser by calling - -initWithSAXHandler:withContentsOfURL: + -initWithSAXHandler:withContentsOfURL:@@ -2379,14 +2382,14 @@parserWithContentsOfUR
parserWithData:
- + (GSXMLParser*) parserWithData: (NSData*)data;
+ + (GSXMLParser*) parserWithData: (NSData*)data;
Availability: Not in OpenStep/MacOS-X
Creation of a new Parser by calling - + -initWithSAXHandler:withData: @@ -2396,7 +2399,7 @@parserWithData:
parserWithSAXHandler:
- + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler;
+ + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler;
Availability: Not in OpenStep/MacOS-X
@@ -2407,7 +2410,7 @@parserWithSAXHandler:&nbs
Creation of a new Parser by calling - + -initWithSAXHandler: @@ -2432,14 +2435,14 @@
parserWithSAXHandler:&nbs
parserWithSAXHandler: withContentsOfFile:
- + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withContentsOfFile: (NSString*)path;
+ + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withContentsOfFile: (NSString*)path;
Availability: Not in OpenStep/MacOS-X
Creation of a new Parser by calling - -initWithSAXHandler:withContentsOfFile: + -initWithSAXHandler:withContentsOfFile:@@ -2460,14 +2463,14 @@parser
parserWithSAXHandler: withContentsOfURL:
- + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withContentsOfURL: (NSURL*)url;
+ + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withContentsOfURL: (NSURL*)url;
Availability: Not in OpenStep/MacOS-X
Creation of a new Parser by calling - -initWithSAXHandler:withContentsOfURL: + -initWithSAXHandler:withContentsOfURL:@@ -2475,14 +2478,14 @@parserW
+parserWithSAXHandler: withData:
- + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withData: (NSData*)data;
+ + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withData: (NSData*)data;
Availability: Not in OpenStep/MacOS-X
Creation of a new Parser by calling - + -initWithSAXHandler:withData: @@ -2536,7 +2539,7 @@abortParsing
columnNumber
- - (NSInteger) columnNumber;
+ - (NSInteger) columnNumber;
Availability: Not in OpenStep/MacOS-X
@@ -2563,7 +2566,7 @@doValidityChecking:
document
- - (GSXMLDocument*) document;
+ - (GSXMLDocument*) document;
Availability: Not in OpenStep/MacOS-X
@@ -2577,7 +2580,7 @@document
errNo
- - (NSInteger) errNo;
+ - (NSInteger) errNo;
Availability: Not in OpenStep/MacOS-X
@@ -2603,7 +2606,7 @@getWarnings:
initWithSAXHandler:
- - (id) initWithSAXHandler: (GSSAXHandler*)handler;
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler;
Availability: Not in OpenStep/MacOS-X
@@ -2626,16 +2629,16 @@initWithSAXHandler: If the handler object supplied is
nil
, the parser will use an instance of - GSTreeSAXHandler + GSTreeSAXHandler to build a tree representing the parsed file. This tree will then be available (via the - + -document method) as a - GSXMLDocument + GSXMLDocument on completion of parsing.@@ -2656,7 +2659,7 @@
initWithSAXHandler:
initWithSAXHandler: withContentsOfFile:
- - (id) initWithSAXHandler: (GSSAXHandler*)handler withContentsOfFile: (NSString*)path;
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler withContentsOfFile: (NSString*)path;
Availability: Not in OpenStep/MacOS-X
@@ -2669,7 +2672,7 @@initWith Initialisation of a new Parser with SAX handler (if not
nil
) by calling - + -initWithSAXHandler: @@ -2692,7 +2695,7 @@initWith
initWithSAXHandler: withContentsOfURL:
- - (id) initWithSAXHandler: (GSSAXHandler*)handler withContentsOfURL: (NSURL*)url;
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler withContentsOfURL: (NSURL*)url;
Availability: Not in OpenStep/MacOS-X
@@ -2705,7 +2708,7 @@initWithS Initialisation of a new Parser with SAX handler (if not
nil
) by calling - + -initWithSAXHandler: @@ -2729,7 +2732,7 @@initWithS
+initWithSAXHandler: withData:
- - (id) initWithSAXHandler: (GSSAXHandler*)handler withData: (NSData*)data;
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler withData: (NSData*)data;
Availability: Not in OpenStep/MacOS-X
@@ -2742,7 +2745,7 @@initWithSAXHandler Initialisation of a new Parser with SAX handler (if not
nil
) by calling - + -initWithSAXHandler: @@ -2762,6 +2765,43 @@initWithSAXHandler
+
++@@ -2784,7 +2824,7 @@initWithSAXHandler: withInputStream:
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler withInputStream: (NSInputStream*)stream;
++Availability: Not in OpenStep/MacOS-X+
++ + + ++ + Initialisation of a new Parser with SAX + handler (if not
+nil
) by + calling + + -initWithSAXHandler: + + ++ + +
++ + Sets the input source for the parser to be the + specified input stream, so parsing + of the entire document will be performed rather than + incremental parsing. +
++ +
keepBlanks:
+lineNumber
- - (NSInteger) lineNumber;
+ - (NSInteger) lineNumber;
Availability: Not in OpenStep/MacOS-X
@@ -2819,9 +2859,12 @@parse
- Parse source. ReturnYES
if parsed, - otherwiseNO
. This method should be - called once to parse the entire document. + Parse source. ReturnYES
if parsed as + valid, otherwiseNO
. If validation + against a DTD is not enabled, the return value + simply indicates whether the xml was well formed. +
This method should be called once to parse + the entire document.GSXMLParser *p = [GSXMLParser parserWithContentsOfFile:@"macos.xml"]; @@ -2860,7 +2903,9 @@parse:
should be called with an empty ornil
data object to indicate end of parsing. On this final call, the return value indicates whether - the document was valid or not. + the document was valid or not. If validation to a DTD + is not enabled, the return value simply indicates + whether the xml was well formed.@@ -2896,6 +2941,19 @@
publicID
+resolveEntities:
+ - (BOOL) resolveEntities: (BOOL)yesno;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+Method summarysaveMessages:
- (void) saveMessages: (BOOL)yesno;
@@ -3143,8 +3201,8 @@GSXMLRPC : NSObject
You may also use the class to implement an XMLRPC server, by calling the - -parseMethod:params: - method to parse the data POSTed to your server, and -buildResponseWithParams: + -parseMethod:params: + method to parse the data POSTed to your server, and -buildResponseWithParams: (or -buildResponseWithFaultCode:andString:) to produce the data to be sent back to the client.@@ -3183,31 +3241,31 @@
GSXMLRPC : NSObject
-
- -completedXMLRPC:
-- -URLHandle:resourceDataDidBecomeAvailable:
-- -URLHandle:resourceDidFailLoadingWithReason:
-- -URLHandleResourceDidBeginLoading:
-- -URLHandleResourceDidCancelLoading:
-- -URLHandleResourceDidFinishLoading:
-- -buildMethod:params:
-- -buildMethodCall:params:
-- -buildResponseWithFaultCode:andString:
-- -buildResponseWithParams:
-- -compact
-- -delegate
-- -initWithURL:
-- -initWithURL:certificate:privateKey:password:
-- -makeMethodCall:params:timeout:
-- -parseMethod:params:
-- -parseResponse:params:
-- -result
-- -sendMethodCall:params:timeout:
-- -setCompact:
-- -setDebug:
-- -setDelegate:
-- -setTimeZone:
-- -timeZone
-- -timeout:
+- -completedXMLRPC:
+- -URLHandle:resourceDataDidBecomeAvailable:
+- -URLHandle:resourceDidFailLoadingWithReason:
+- -URLHandleResourceDidBeginLoading:
+- -URLHandleResourceDidCancelLoading:
+- -URLHandleResourceDidFinishLoading:
+- -buildMethod:params:
+- -buildMethodCall:params:
+- -buildResponseWithFaultCode:andString:
+- -buildResponseWithParams:
+- -compact
+- -delegate
+- -initWithURL:
+- -initWithURL:certificate:privateKey:password:
+- -makeMethodCall:params:timeout:
+- -parseMethod:params:
+- -parseResponse:params:
+- -result
+- -sendMethodCall:params:timeout:
+- -setCompact:
+- -setDebug:
+- -setDelegate:
+- -setTimeZone:
+- -timeZone
+- -timeout:
@@ -3336,7 +3394,7 @@buildMethodCall: para
buildResponseWithFaultCode: andString:
- - (NSString*) buildResponseWithFaultCode: (NSInteger)code andString: (NSString*)s;
+ - (NSString*) buildResponseWithFaultCode: (NSInteger)code andString: (NSString*)s;
Availability: Not in OpenStep/MacOS-X
@@ -3379,7 +3437,7 @@compact
Return the value set by a prior call to - + -setCompact: @@ -3397,7 +3455,7 @@delegate
Returns the delegate previously set by the - + -setDelegate: @@ -3418,7 +3476,7 @@@@ -3449,14 +3507,14 @@initWithURL:
Initialise the receiver to make XMLRPC calls to the specified URL.
This method just calls - -initWithURL:certificate:privateKey:password: + -initWithURL:certificate:privateKey:password: withnil
arguments for the SSL credentials.initW
makeMethodCall: params: timeout:
- - (id) makeMethodCall: (NSString*)method params: (NSArray*)params timeout: (NSInteger)seconds;
+ - (id) makeMethodCall: (NSString*)method params: (NSArray*)params timeout: (NSInteger)seconds;
Availability: Not in OpenStep/MacOS-X
sendMethodCall: params: timeout:
- - (BOOL) sendMethodCall: (NSString*)method params: (NSArray*)params timeout: (NSInteger)seconds;
+ - (BOOL) sendMethodCall: (NSString*)method params: (NSArray*)params timeout: (NSInteger)seconds;
Availability: Not in OpenStep/MacOS-X
@@ -3564,14 +3622,14 @@sendMethodCall:&nbs have been set to handle the result of this call, but if one was not set the state of the asynchronous call may be polled by calling the - + -result method, which will return
nil
as long as the call has not completed.
The call may be cancelled by calling the - + -timeout: @@ -3608,13 +3666,14 @@setCompact:
setDebug:
- - (void) setDebug: (BOOL)flag;
+ - (int) setDebug: (int)flag;
Availability: Not in OpenStep/MacOS-X
Specify whether to perform debug trace on I/O +
Return the previous value
@@ -3631,7 +3690,7 @@setDelegate:
when an XMLRPC call completes.
NB. this delegate is not retained, and should be removed before it is deallocated (call - + -setDelegate: @@ -3692,7 +3751,7 @@timeout:
Software documentation for the GSXPathBoolean class
-GSXPathBoolean : GSXPathObject
+GSXPathBoolean : GSXPathObject
- Declared in:
@@ -3709,7 +3768,7 @@GSXPathBoolean : -booleanValue +
- -booleanValue
@@ -3779,14 +3838,14 @@GSXPathContext : NSObject
Method summary-
- -evaluateExpression:
-- -initWithDocument:
-- -registerNamespaceWithPrefix:href:
+- -evaluateExpression:
+- -initWithDocument:
+- -registerNamespaceWithPrefix:href:
evaluateExpression:
- - (GSXPathObject*) evaluateExpression: (NSString*)XPathExpression;
+ - (GSXPathObject*) evaluateExpression: (NSString*)XPathExpression;
Availability: Not in OpenStep/MacOS-X
@@ -3801,7 +3860,7 @@evaluateExpression: 
initWithDocument:
- - (id) initWithDocument: (GSXMLDocument*)d;
+ - (id) initWithDocument: (GSXMLDocument*)d;
Availability: Not in OpenStep/MacOS-X
@@ -3863,7 +3922,7 @@_lib
Software documentation for the GSXPathNodeSet class
-GSXPathNodeSet : GSXPathObject
+GSXPathNodeSet : GSXPathObject
- Declared in:
@@ -3884,14 +3943,14 @@GSXPathNodeSet : -count -
- -length
-- -nodeAtIndex:
+- -count
+- -length
+- -nodeAtIndex:
count
- - (NSUInteger) count;
+ - (NSUInteger) count;
Availability: Not in OpenStep/MacOS-X
@@ -3904,7 +3963,7 @@count
length
- - (NSUInteger) length;
+ - (NSUInteger) length;
Availability: Not in OpenStep/MacOS-X
@@ -3917,7 +3976,7 @@length
nodeAtIndex:
- - (GSXMLNode*) nodeAtIndex: (NSUInteger)index;
+ - (GSXMLNode*) nodeAtIndex: (NSUInteger)index;
Availability: Not in OpenStep/MacOS-X
@@ -3935,7 +3994,7 @@nodeAtIndex:
Software documentation for the GSXPathNumber class
-GSXPathNumber : GSXPathObject
+GSXPathNumber : GSXPathObject
- Declared in:
@@ -3952,7 +4011,7 @@GSXPathNumber : -doubleValue +
- -doubleValue
@@ -3998,7 +4057,7 @@GSXPathObject : NSObject
You don't create GSXPathObject instances, instead the XPATH system creates them and returns them as the result of the - [GSXPathContext -evaluateExpression:] + [GSXPathContext -evaluateExpression:] method.@@ -4045,7 +4104,7 @@
_lib
Software documentation for the GSXPathString class
-GSXPathString : GSXPathObject
+GSXPathString : GSXPathObject
- Declared in:
@@ -4062,7 +4121,7 @@GSXPathString : -stringValue +
- -stringValue
@@ -4083,7 +4142,7 @@Software documentation for the GSXMLDocument(XSLT) category
-GSXMLDocument(XSLT)
+GSXMLDocument(XSLT)
- Declared in:
@@ -4100,17 +4159,17 @@+xsltTransformFile:stylesheet: -
- +xsltTransformFile:stylesheet:params:
-- +xsltTransformXml:stylesheet:
-- +xsltTransformXml:stylesheet:params:
-- -xsltTransform:
-- -xsltTransform:params:
+- +xsltTransformFile:stylesheet:
+- +xsltTransformFile:stylesheet:params:
+- +xsltTransformXml:stylesheet:
+- +xsltTransformXml:stylesheet:params:
+- -xsltTransform:
+- -xsltTransform:params:
xsltTransformFile: stylesheet:
- + (GSXMLDocument*) xsltTransformFile: (NSString*)xmlFile stylesheet: (NSString*)xsltStylesheet;
+ + (GSXMLDocument*) xsltTransformFile: (NSString*)xmlFile stylesheet: (NSString*)xsltStylesheet;
Availability: Not in OpenStep/MacOS-X
@@ -4127,7 +4186,7 @@xsltTrans
xsltTransformFile: stylesheet: params:
- + (GSXMLDocument*) xsltTransformFile: (NSString*)xmlFile stylesheet: (NSString*)xsltStylesheet params: (NSDictionary*)params;
+ + (GSXMLDocument*) xsltTransformFile: (NSString*)xmlFile stylesheet: (NSString*)xsltStylesheet params: (NSDictionary*)params;
Availability: Not in OpenStep/MacOS-X
@@ -4145,7 +4204,7 @@xs
xsltTransformXml: stylesheet:
- + (GSXMLDocument*) xsltTransformXml: (NSData*)xmlData stylesheet: (NSData*)xsltStylesheet;
+ + (GSXMLDocument*) xsltTransformXml: (NSData*)xmlData stylesheet: (NSData*)xsltStylesheet;
Availability: Not in OpenStep/MacOS-X
@@ -4162,7 +4221,7 @@xsltTransf
xsltTransformXml: stylesheet: params:
- + (GSXMLDocument*) xsltTransformXml: (NSData*)xmlData stylesheet: (NSData*)xsltStylesheet params: (NSDictionary*)params;
+ + (GSXMLDocument*) xsltTransformXml: (NSData*)xmlData stylesheet: (NSData*)xsltStylesheet params: (NSDictionary*)params;
Availability: Not in OpenStep/MacOS-X
@@ -4180,7 +4239,7 @@xsl
xsltTransform:
- - (GSXMLDocument*) xsltTransform: (GSXMLDocument*)xsltStylesheet;
+ - (GSXMLDocument*) xsltTransform: (GSXMLDocument*)xsltStylesheet;
Availability: Not in OpenStep/MacOS-X
@@ -4196,7 +4255,7 @@xsltTransform:
xsltTransform: params:
- - (GSXMLDocument*) xsltTransform: (GSXMLDocument*)xsltStylesheet params: (NSDictionary*)params;
+ - (GSXMLDocument*) xsltTransform: (GSXMLDocument*)xsltStylesheet params: (NSDictionary*)params;
Availability: Not in OpenStep/MacOS-X
@@ -4218,7 +4277,7 @@Software documentation for the GSXMLRPC(Delegate) category
-GSXMLRPC(Delegate)
+GSXMLRPC(Delegate)
- Declared in:
@@ -4233,7 +4292,7 @@+ -sendMethodCall:params:timeout: @@ -4242,12 +4301,12 @@
-completedXMLRPC: +
- -completedXMLRPC:
Method summarycompletedXMLRPC:
- - (void) completedXMLRPC: (GSXMLRPC*)sender;
+ - (void) completedXMLRPC: (GSXMLRPC*)sender;
Availability: Not in OpenStep/MacOS-X
@@ -4257,7 +4316,7 @@completedXMLRPC: < Called by the sender when an XMLRPC method call completes (either success or failure). The delegate may then call the - + -result @@ -4290,8 +4349,8 @@
NSString(GSXML)
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/MacrosTOC.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/MacrosTOC.gsdoc new file mode 100644 index 0000000..c7224b9 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/MacrosTOC.gsdoc @@ -0,0 +1,13 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/MacrosTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/MacrosTOC.html index 22ced26..f5aa5eb 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/MacrosTOC.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/MacrosTOC.html @@ -11,48 +11,80 @@Macros + + ++ + ++ Macros
- ASSIGN
- ASSIGNCOPY
- AUTORELEASE
- CALL_BLOCK
- CALL_BLOCK_NO_ARGS
- CHECK_INDEX_RANGE_ERROR
- CREATE_AUTORELEASE_POOL
- DESTROY
- GSLocalizedStaticString
- GSOnceFLog
- GSOnceMLog
- GS_API_LATEST
- GS_API_MACOSX
- GS_API_NONE
- GS_API_OPENSTEP
- GS_API_OSSPEC
- GS_API_VERSION
- GS_INITIALIZED_LOCK
- GS_MAX_OBJECTS_FROM_STACK
- GS_RANGE_CHECK
- GS_USEIDLIST
- GS_USEIDPAIRLIST
- NSDebugFLLog
- NSDebugFLog
- NSDebugFRLog
- NSDebugLLog
- NSDebugLog
- NSDebugMLLog
- NSDebugMLog
- NSDebugMRLog
- NSWarnFLog
- NSWarnLog
- NSWarnMLog
- OS_API_VERSION
- RECREATE_AUTORELEASE_POOL
- RELEASE
- RETAIN
- TEST_AUTORELEASE
- TEST_RELEASE
- TEST_RETAIN
- _
- __
+ ALog
+ ASSIGN
+ ASSIGNCOPY
+ ASSIGNMUTABLECOPY
+ AUTORELEASE
+ BLOCK_SCOPE
+ CALL_BLOCK
+ CALL_BLOCK_NO_ARGS
+ CALL_BLOCK_RET
+ CALL_BLOCK_RET_NO_ARGS
+ CALL_NON_NULL_BLOCK
+ CALL_NON_NULL_BLOCK_NO_ARGS
+ CHECK_INDEX_RANGE_ERROR
+ CREATE_AUTORELEASE_POOL
+ DEALLOC
+ DEFINE_BLOCK_TYPE
+ DEFINE_BLOCK_TYPE_NO_ARGS
+ DESTROY
+ DLog
+ ENTER_POOL
+ GSLocalizedStaticString
+ GSOnceFLog
+ GSOnceMLog
+ GS_API_LATEST
+ GS_API_MACOSX
+ GS_API_NONE
+ GS_API_OPENSTEP
+ GS_API_OSSPEC
+ GS_API_VERSION
+ GS_CLANG_MINREQ
+ GS_DEPRECATED_FUNC
+ GS_EXPOSE
+ GS_GCC_MINREQ
+ GS_INITIALIZED_LOCK
+ GS_LOCALISATION_BUNDLE
+ GS_MAX_OBJECTS_FROM_STACK
+ GS_NORETURN_METHOD
+ GS_PART_MAP_ENUMERATOR
+ GS_RANGE_CHECK
+ GS_UNIMPLEMENTED
+ GS_UNUSED_ARG
+ GS_UNUSED_FUNC
+ GS_UNUSED_IVAR
+ GS_USEIDLIST
+ GS_USEIDPAIRLIST
+ IF_NO_ARC
+ IF_NO_GC
+ LEAVE_POOL
+ MAC_OS_X_VERSION_MAX_ALLOWED
+ NSDebugFLLog
+ NSDebugFLog
+ NSDebugFRLog
+ NSDebugLLog
+ NSDebugLog
+ NSDebugMLLog
+ NSDebugMLog
+ NSDebugMRLog
+ NSWarnFLog
+ NSWarnLog
+ NSWarnMLog
+ NS_CONSUMED
+ NS_CONSUMES_SELF
+ NS_RETURNS_NOT_RETAINED
+ NS_RETURNS_RETAINED
+ OS_API_VERSION
+ RECREATE_AUTORELEASE_POOL
+ RELEASE
+ RETAIN
+ TEST_AUTORELEASE
+ TEST_RELEASE
+ TEST_RETAIN
+ _
+ __
+ __has_feature
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSArray+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSArray+GNUstepBase.gsdoc new file mode 100644 index 0000000..cf51372 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSArray+GNUstepBase.gsdoc @@ -0,0 +1,65 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSArray+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSArray+GNUstepBase.html index 587729d..27ba7b1 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSArray+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSArray+GNUstepBase.html @@ -16,6 +16,7 @@NSArray+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the NSArray(GNUstepBase) + category + ++ +GNUstepBase/NSArray+GNUstepBase.h ++ Description forthcoming. + ++ +insertionPosition: +item +usingFunction: +sorter +context: +context ++ ++ Method for working with sorted arrays - use a + binary chop to determine the insertion location + for an object. If equal objects already exist in the + array, they will be located immediately before the + insertion position. +
++ The comparator function takes two items as arguments, + the first is the item to be added, the + second is the item already in the + array. The function should return + NSOrderedAscending if the + item to be added is 'less than' the + item in the array, NSOrderedDescending + if it is greater, and NSOrderedSame if it is equal. +
++ +insertionPosition: +item +usingSelector: +comp ++ Description forthcoming. + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -42,13 +43,13 @@Method summaryNSArray(GNUstepBase)
-
- -insertionPosition:usingFunction:context:
-- -insertionPosition:usingSelector:
+- -insertionPosition:usingFunction:context:
+- -insertionPosition:usingSelector:
insertionPosition: usingFunction: context:
- - (NSUInteger) insertionPosition: (id)item usingFunction: (NSComparisonResult(*)(id,id,void*))sorter context: (void*)context;
+ - (NSUInteger) insertionPosition: (id)item usingFunction: (NSComparisonResult(*)(id,id,void*))sorter context: (void*)context;
Availability: Not in OpenStep/MacOS-X
@@ -87,7 +88,7 @@
insertionPosition: usingSelector:
- - (NSUInteger) insertionPosition: (id)item usingSelector: (SEL)comp;
+ - (NSUInteger) insertionPosition: (id)item usingSelector: (SEL)comp;
Availability: Not in OpenStep/MacOS-X
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSAttributedString+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSAttributedString+GNUstepBase.gsdoc new file mode 100644 index 0000000..b875662 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSAttributedString+GNUstepBase.gsdoc @@ -0,0 +1,39 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSAttributedString+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSAttributedString+GNUstepBase.html index 1a2b3d3..19f3a36 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSAttributedString+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSAttributedString+GNUstepBase.html @@ -16,6 +16,7 @@NSAttributedString+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the + NSAttributedString(GNUstepBase) + category + ++ +GNUstepBase/NSAttributedString+GNUstepBase.h ++ Description forthcoming. + ++ +attributedSubstringWithRange: +aRange ++ Deprecated synonym for + attributedSubstringFromRange: + for consistency with NSString + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -43,7 +44,7 @@Method summaryNSAttributedString(GNUste
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSBundle+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSBundle+GNUstepBase.gsdoc new file mode 100644 index 0000000..7d1095f --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSBundle+GNUstepBase.gsdoc @@ -0,0 +1,40 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSBundle+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSBundle+GNUstepBase.html index ad243fd..3160825 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSBundle+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSBundle+GNUstepBase.html @@ -16,6 +16,7 @@NSBundle+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the NSBundle(GNUstepBase) + category + ++ +GNUstepBase/NSBundle+GNUstepBase.h ++ Description forthcoming. + ++ +pathForLibraryResource: +name +ofType: +ext +inDirectory: +bundlePath ++ Description forthcoming. + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -42,7 +43,7 @@Method summaryNSBundle(GNUstepBase)
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSCalendarDate+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSCalendarDate+GNUstepBase.gsdoc new file mode 100644 index 0000000..9db9397 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSCalendarDate+GNUstepBase.gsdoc @@ -0,0 +1,57 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSCalendarDate+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSCalendarDate+GNUstepBase.html index 11ef3b3..b404235 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSCalendarDate+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSCalendarDate+GNUstepBase.html @@ -16,6 +16,7 @@NSCalendarDate+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the + NSCalendarDate(GNUstepBase) + category + ++ +GNUstepBase/NSCalendarDate+GNUstepBase.h ++ Description forthcoming. + ++ +isoYear ++ According to the ISO definition of a week, each + year begins with the Monday of the week containing the + 4th of January. If we a have a date early in January or + late in December we therefore may need to adjust the + year to match the definition of a week. +
This + method is used to return the ISO year rather than + the normal calendar year. ++ +weekOfYear ++ The ISO standard week of the year is based on the first + week of the year being that week (starting on monday) + for which the thursday is on or after the first of + january. +
This has the effect that, if + january first is a friday, saturday or sunday, the + days of that week (up to and including the sunday) are + considered to be in week 53 of the preceding + year. Similarly if the last day of the year is a + monday tuesday or wednesday, these days are part of + week 1 of the next year. +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -43,13 +44,13 @@NSCalendarDate(GNUstepBase Method summary
-
- -isoYear
-- -weekOfYear
+- -isoYear
+- -weekOfYear
isoYear
- - (NSUInteger) isoYear;
+ - (NSUInteger) isoYear;
Availability: Not in OpenStep/MacOS-X
@@ -68,7 +69,7 @@isoYear
weekOfYear
- - (NSInteger) weekOfYear;
+ - (NSInteger) weekOfYear;
Availability: Not in OpenStep/MacOS-X
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSData+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSData+GNUstepBase.gsdoc new file mode 100644 index 0000000..845c307 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSData+GNUstepBase.gsdoc @@ -0,0 +1,193 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSData+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSData+GNUstepBase.html index 7a666eb..e118cda 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSData+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSData+GNUstepBase.html @@ -16,6 +16,7 @@NSData+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the NSData(GNUstepBase) + category + ++ +GNUstepBase/NSData+GNUstepBase.h ++ Description forthcoming. + ++ +dataWithRandomBytesOfLength: +length ++ Returns an autoreleased data instance initialised + with pseudo-random bytes of the specified + length. +
On failure returns +nil
. This may be due to:
A zero + length or unreasonably large + length argument or,
Failure to + allocate memory to hold the random data or,
+ Failure of the underlying random data generation. ++ +escapedRepresentation ++ Returns an NSString object containing a backslash + escaped representation of the receiver. + ++ +escapedRepresentation: +length ++ Returns a buffer containing an ASCII backslash + escaped representation of the receiver, (and + optionally the size of the buffer excluding the + trailing nul terminator). + ++ +gunzipped ++ Returns data formed by gunzipping the contents of + the receiver. +
If the receiver did not contain + data produced by gzip, this method simply returns the + receiver.
If the gnuzipping failed, this + method returnsnil
.
Otherwise, + the returned object is an autorelease mutable data + object. ++ +gzipped: +level ++ Returns data formed by gzipping the contents of the + receiver using the specified compression + level (from 0 to 9 with 0 meaning no + compression and 9 meaning maximum compression). + Use a value outside the 0 to 9 range (eg -1) to employ + the default compression. +
NB. It is permissable + to gzip an empty data object, and it is also permissable + to gzip a data object which already contains gzipped + data.
Returnsnil
on failure. ++ +hexadecimalRepresentation ++ Returns an NSString object containing an ASCII + hexadecimal representation of the receiver. + This means that the returned object will contain + exactly twice as many characters as there are bytes + as the receiver, as each byte in the receiver is + represented by two hexadecimal digits. +
+ The high order four bits of each byte is encoded before + the low order four bits. Capital letters 'A' to 'F' are + used to represent values from 10 to 15. ++ +hexadecimalRepresentation: +length ++ Returns a buffer containing an ASCII string with a + nul terminated hexadecimal representation of the + receiver, (and optionally the size of the buffer + excluding the trailing nul terminator). + ++ +initWithHexadecimalRepresentation: +string ++ Initialises the receiver with the supplied + string data which contains a hexadecimal + coding of the bytes. The parsing of the + string is fairly tolerant, ignoring + whitespace and permitting both upper and lower + case hexadecimal digits (the + + -hexadecimalRepresentation + + method produces a string using only + uppercase digits with no white space). +
If + the string does not contain one or more + pairs of hexadecimal digits then an exception is + raised. ++ +isGzipped ++ Returns +YES
if the receiver is a + non-empty data object with a gzip header, +NO
otherwise. ++ +md5Digest ++ Creates an MD5 digest of the information stored in + the receiver and returns it as an autoreleased 16 byte + NSData object. +
If you need to produce a + digest of string information, you need to decide + what character encoding is to be used and convert your + string to a data object of that encoding type first + using the + [NSString -dataUsingEncoding:] method - ++ myDigest = [[myString dataUsingEncoding: NSUTF8StringEncoding] md5Digest]; + + If you need to use the digest in a human readable form, + you will probably want it to be seen as 32 hexadecimal + digits, and can do that using the + + -hexadecimalRepresentation + + method. ++ +uudecodeInto: +decoded +name: +namePtr +mode: +modePtr ++ Decodes the source data from uuencoded and return + the result. +
Returns the encoded file name in + namePtr if it is not null. Returns the + encoded file mode in modePtr if it is + not null. ++ +uuencodeInto: +encoded +name: +name +mode: +mode ++ Encode the source data to uuencoded. +
Uses the + supplied name as the filename in the + encoded data, and says that the file + mode is as specified.
If no + name is supplied, uses +untitled
as the name. +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -42,23 +43,23 @@Method summaryNSData(GNUstepBase)
-
- +dataWithRandomBytesOfLength:
-- -escapedRepresentation
-- -escapedRepresentation:
-- -gunzipped
-- -gzipped:
-- -hexadecimalRepresentation
-- -hexadecimalRepresentation:
-- -initWithHexadecimalRepresentation:
-- -isGzipped
-- -md5Digest
-- -uudecodeInto:name:mode:
-- -uuencodeInto:name:mode:
+- +dataWithRandomBytesOfLength:
+- -escapedRepresentation
+- -escapedRepresentation:
+- -gunzipped
+- -gzipped:
+- -hexadecimalRepresentation
+- -hexadecimalRepresentation:
+- -initWithHexadecimalRepresentation:
+- -isGzipped
+- -md5Digest
+- -uudecodeInto:name:mode:
+- -uuencodeInto:name:mode:
dataWithRandomBytesOfLength:
- + (id) dataWithRandomBytesOfLength: (NSUInteger)length;
+ + (id) dataWithRandomBytesOfLength: (NSUInteger)length;
Availability: Not in OpenStep/MacOS-X
@@ -92,7 +93,7 @@escapedRepresenta
escapedRepresentation:
- - (char*) escapedRepresentation: (NSUInteger*)length;
+ - (char*) escapedRepresentation: (NSUInteger*)length;
Availability: Not in OpenStep/MacOS-X
@@ -169,7 +170,7 @@hexadecimalRe
hexadecimalRepresentation:
- - (char*) hexadecimalRepresentation: (NSUInteger*)length;
+ - (char*) hexadecimalRepresentation: (NSUInteger*)length;
Availability: Not in OpenStep/MacOS-X
@@ -197,7 +198,7 @@init string is fairly tolerant, ignoring whitespace and permitting both upper and lower case hexadecimal digits (the - + -hexadecimalRepresentation @@ -250,7 +251,7 @@
md5Digest
If you need to use the digest in a human readable form, you will probably want it to be seen as 32 hexadecimal digits, and can do that using the - + -hexadecimalRepresentation @@ -261,7 +262,7 @@md5Digest
uudecodeInto: name: mode:
- - (BOOL) uudecodeInto: (NSMutableData*)decoded name: (NSString**)namePtr mode: (NSInteger*)modePtr;
+ - (BOOL) uudecodeInto: (NSMutableData*)decoded name: (NSString**)namePtr mode: (NSInteger*)modePtr;
Availability: Not in OpenStep/MacOS-X
@@ -278,7 +279,7 @@uudecodeInto:&n
uuencodeInto: name: mode:
- - (BOOL) uuencodeInto: (NSMutableData*)encoded name: (NSString*)name mode: (NSInteger)mode;
+ - (BOOL) uuencodeInto: (NSMutableData*)encoded name: (NSString*)name mode: (NSInteger)mode;
Availability: Not in OpenStep/MacOS-X
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSFileHandle+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSFileHandle+GNUstepBase.gsdoc new file mode 100644 index 0000000..bddb39b --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSFileHandle+GNUstepBase.gsdoc @@ -0,0 +1,46 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSFileHandle+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSFileHandle+GNUstepBase.html index 8abeba7..8cee41f 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSFileHandle+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSFileHandle+GNUstepBase.html @@ -16,6 +16,7 @@NSFileHandle+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the + NSFileHandle(GNUstepBase) category + ++ +GNUstepBase/NSFileHandle+GNUstepBase.h ++ Description forthcoming. + ++ +fileHandleAsServerAtAddress: +address +service: +service +protocol: +protocol ++ Description forthcoming. + ++ +socketAddress ++ Description forthcoming. + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -42,8 +43,8 @@Method summaryNSFileHandle(GNUstepBase)
-
- +fileHandleAsServerAtAddress:service:protocol:
-- -socketAddress
+- +fileHandleAsServerAtAddress:service:protocol:
+- -socketAddress
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSLock+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSLock+GNUstepBase.gsdoc new file mode 100644 index 0000000..9cb09ce --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSLock+GNUstepBase.gsdoc @@ -0,0 +1,114 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSLock+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSLock+GNUstepBase.html index 4290d92..b029445 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSLock+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSLock+GNUstepBase.html @@ -16,6 +16,7 @@NSLock+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + ++ Software documentation for the NSLock(GNUstepBase) + category + ++ +GNUstepBase/NSLock+GNUstepBase.h ++ Returns IDENT which will be initialized to an + instance of a CLASSNAME in a thread safe manner. If + IDENT has been previously initialized this macro merely + returns IDENT. IDENT is considered uninitialized, if + it contains +nil
. CLASSNAME must be either + NSLock, NSRecursiveLock or one of their subclasses. + See + [NSLock(GNUstepBase) +newLockAt:] for details. This macro is intended for code that cannot insure that a lock can be initialized in thread safe manner otherwise. ++ NSLock *my_lock = nil; + + void function (void) + { + [GS_INITIALIZED_LOCK(my_lock, NSLock) lock]; + do_work (); + [my_lock unlock]; + } + + ++ +newLockAt: +location ++ Initializes the id pointed to + by location with a new instance of the + receiver's class in a thread safe manner, unless + it has been previously initialized. Returns the contents + pointed to by location. The + location is considered unintialized if it + contains +nil
.
This method is + used in the GS_INITIALIZED_LOCK macro to initialize + lock variables when it cannot be insured that they can + be initialized in a thread safe environment. ++ NSLock *my_lock = nil; + + void function (void) + { + [GS_INITIALIZED_LOCK(my_lock, NSLock) lock]; + do_work (); + [my_lock unlock]; + } + + ++ + ++ Software documentation for the + NSRecursiveLock(GNUstepBase) + category + ++ +GNUstepBase/NSLock+GNUstepBase.h ++ Description forthcoming. + ++ +newLockAt: +location ++ Initializes the id pointed to + by location with a new instance of the + receiver's class in a thread safe manner, unless + it has been previously initialized. Returns the contents + pointed to by location. The + location is considered unintialized if it + contains +nil
.
This method is + used in the GS_INITIALIZED_LOCK macro to initialize + lock variables when it cannot be insured that they can + be initialized in a thread safe environment. ++ NSLock *my_lock = nil; + + void function (void) + { + [GS_INITIALIZED_LOCK(my_lock, NSLock) lock]; + do_work (); + [my_lock unlock]; + } + + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -51,12 +52,33 @@NSLock(GNUstepBase)
- Description forthcoming. + Returns IDENT which will be initialized to an + instance of a CLASSNAME in a thread safe manner. If + IDENT has been previously initialized this macro merely + returns IDENT. IDENT is considered uninitialized, if + it containsMethod summarynil
. CLASSNAME must be either + NSLock, NSRecursiveLock or one of their subclasses. + See + [NSLock(GNUstepBase) +newLockAt:] + for details. This macro is intended for code that cannot insure that a lock can be initialized in thread safe manner otherwise. + ++ NSLock *my_lock = nil; + + void function (void) + { + [GS_INITIALIZED_LOCK(my_lock, NSLock) lock]; + do_work (); + [my_lock unlock]; + } + ++
@@ -117,7 +139,7 @@Method summaryNSRecursiveLock(GNUstepBase<
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSMutableString+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSMutableString+GNUstepBase.gsdoc new file mode 100644 index 0000000..18479b0 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSMutableString+GNUstepBase.gsdoc @@ -0,0 +1,77 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSMutableString+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSMutableString+GNUstepBase.html index 46471cf..260c8ac 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSMutableString+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSMutableString+GNUstepBase.html @@ -16,6 +16,7 @@NSMutableString+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the + NSMutableString(GNUstepBase) + category + ++ +GNUstepBase/NSMutableString+GNUstepBase.h ++ Description forthcoming. + ++ +deletePrefix: +prefix ++ Description forthcoming. + ++ +deleteSuffix: +suffix ++ Description forthcoming. + ++ +immutableProxy ++ Description forthcoming. + ++ +replaceString: +replace +withString: +by ++ Description forthcoming. + ++ +trimLeadSpaces ++ Description forthcoming. + ++ +trimSpaces ++ Description forthcoming. + ++ +trimTailSpaces ++ Description forthcoming. + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -43,13 +44,13 @@Method summaryNSMutableString(GNUstepBase<
-
- -deletePrefix:
-- -deleteSuffix:
-- -immutableProxy
-- -replaceString:withString:
-- -trimLeadSpaces
-- -trimSpaces
-- -trimTailSpaces
+- -deletePrefix:
+- -deleteSuffix:
+- -immutableProxy
+- -replaceString:withString:
+- -trimLeadSpaces
+- -trimSpaces
+- -trimTailSpaces
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSNumber+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSNumber+GNUstepBase.gsdoc new file mode 100644 index 0000000..8cd4302 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSNumber+GNUstepBase.gsdoc @@ -0,0 +1,45 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSNumber+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSNumber+GNUstepBase.html index a98532d..2123053 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSNumber+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSNumber+GNUstepBase.html @@ -16,6 +16,7 @@NSNumber+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the NSNumber(GNUstepBase) + category + ++ +GNUstepBase/NSNumber+GNUstepBase.h ++ Description forthcoming. + ++ +valueFromString: +string ++ Parses string as a + +double
, +int
, or ++ unsigned int +
+ depending on what characters are present. Uses +atof
andatoi
which don't + report errors, so be careful if the + string might contain an invalid value. +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -42,7 +43,7 @@Method summaryNSNumber(GNUstepBase)
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSObject+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSObject+GNUstepBase.gsdoc new file mode 100644 index 0000000..3ae724d --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSObject+GNUstepBase.gsdoc @@ -0,0 +1,467 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSObject+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSObject+GNUstepBase.html index 04c7fa7..cab9e09 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSObject+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSObject+GNUstepBase.html @@ -16,6 +16,7 @@NSObject+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + ++ Software documentation for the NSObject(GNUstepBase) + informal protocol + ++ +GNUstepBase/NSObject+GNUstepBase.h ++ Description forthcoming. + ++ +compare: +anObject ++ WARNING: The + + -compare: + + method for NSObject is deprecated due to subclasses + declaring the same selector with conflicting + signatures. Comparision of arbitrary objects is + not just meaningless but also dangerous as most + concrete implementations expect comparable objects + as arguments often accessing instance variables + directly. This method will be removed in a future + release. + ++ +isInstance ++ For backward compatibility only... use + "class_isMetaClass()" on the class of + the receiver instead. + ++ +makeImmutable ++ Transmutes the receiver into an immutable + version of the same object. Returns + +YES
if the receiver has become + immutable,NO
otherwise.
The + default implementation returnsNO
. +
Mutable classes which have an immutable + counterpart they can efficiently change into, + should override to transmute themselves and return +YES
.
Immutable classes should + override this to simply returnYES
+ with no further action.
This method is used in + methods which are declared to return immutable + objects (eg. an NSArray), but which create and + build mutable ones internally. ++ +makeImmutableCopyOnFail: +force ++ DEPRECATED... do not use. Transmutes the + receiver into an immutable version of the same + object and returns the result. +
If the + receiver is not a mutable object or cannot be + simply transmuted, then this method either returns + the receiver unchanged or, if the force flag + is set toYES
, returns an autoreleased copy + of the receiver.
Mutable classes should override + this default implementation.
This method is + used in methods which are declared to return immutable + objects (eg. an NSArray), but which create and + build mutable ones internally. ++ +notImplemented: +aSel ++ Message sent when an implementation wants to + explicitly exclude a method (but cannot due to + compiler constraint), and wants to make sure it is + not called by mistake. Default implementation raises an + exception at runtime. + ++ +shouldNotImplement: +aSel ++ Message sent when an implementation wants to + explicitly exclude a method (but cannot due to + compiler constraint) and forbid that subclasses + implement it. Default implementation raises an + exception at runtime. If a subclass does + implement this method, however, the superclass's + implementation will not be called, so this + is not a perfect mechanism. + ++ +subclassResponsibility: +aSel ++ Message sent when an implementation wants to + explicitly require a subclass to implement a + method (but cannot at compile time since there is no + +abstract
keyword in Objective-C). + Default implementation raises an exception at + runtime to alert developer that he/she forgot to + override a method. ++ ++ Software documentation for the NSObject(GSAtExit) + informal protocol + ++ +GNUstepBase/NSObject+GNUstepBase.h ++ This is an informal protocol... classes may implement + the method and register themselves to have it called on + process exit. + ++ +atExit ++ This method is called on exit for any class which + implements it and which has called + + +registerAtExit + + to register it to be called. +
The order in which + methods for different classes is called is the + reverse of the order in which the classes were + registered, but it's best to assume the method + can not depend on any other class being in a usable + state at the point when the method is called (rather + like +load).
Typical use would be to release + memory occupied by class data structures so that + memory usage analysis software will not think the + memory has been leaked. ++ ++ Software documentation for the NSObject(GSCleanup) + informal protocol + ++ +GNUstepBase/NSObject+GNUstepBase.h ++ Category for methods handling leaked memory cleanup + on exit of process (for use when debugging memory leaks). + +
You enable this by calling the + + +setShouldCleanUp: + + method (done implicitly by gnustep-base if the + GNUSTEP_SHOULD_CLEAN_UP environment + variable is set toYES
).
Your + class then has two options for performing cleanup when + the process ends: ++ 1. Use the +leak: + method to register objects which are simply to be + retained until the process ends, and then either + ignored or released depending on the cleanup + setting in force. This mechanism is simple and + should be sufficient for many classes. +
++ 2. Implement a + + +atExit + + method to be run when the process ends and, within + your + + +initialize + + implementation, call + + +shouldCleanUp + + to determine whether cleanup should be done, and if it + returns
+YES
then call + + +registerAtExit + + to have your + + +atExit + + method called when the process terminates. ++ The order in which 'leaked' objects are released and + + +atExit + + methods are called on process exist is the reverse + of the order in which they werse set up suing this API. +
++ +leak: +anObject ++ This method simply retains its argument so that it + will never be deallocated during normal operation, but + keeps track of it so that it is released during + process exit if cleanup is enabled. +
Returns + its argument. ++ +leakAt: +anAddress ++ This method retains the object at *anAddress so that + it will never be deallocated during normal operation, + but keeps track of the address so that the object is + released and the address is zeroed during process + exit if cleanup is enabled. +
Returns the object + at *anAddress. ++ +registerAtExit ++ Sets the receiver to have its + + +atExit + + method called at the point when the process + terminates. +
ReturnsYES
on + success andNO
on failure (if the + class does not implement the method or if it is + already registered to call it).
Implemented + as a call to + + +registerAtExit: + + with the selector for the + + +atExit + + method as its argument. ++ +registerAtExit: +aSelector ++ Sets the receiver to have the specified method called + at the point when the process terminates. +
Returns +YES
on success andNO
on + failure (if the class does not implement the method + ir if it is already registered to call it). ++ +setShouldCleanUp: +aFlag ++ Specifies the default cleanup behavior on process + exit... the value returned by the NSObject + implementation of the + + +shouldCleanUp + + method. +
Calling this method with a +YES
argument implicitly enables the + support for cleanup at exit.
The GNUstep + Base library calls this method with the value obtained + from the GNUSTEP_SHOULD_CLEAN_UP environment variable + when NSObject is initialised. ++ +shouldCleanUp ++ Returns a flag indicating whether the receiver + should clean up its data structures etc at process + exit. +
The NSObject implementation returns the + value set by the + + +setShouldCleanUp: + + method but subclasses may override this. ++ + ++ Software documentation for the + NSObject(MemoryFootprint) informal + protocol + ++ +GNUstepBase/NSObject+GNUstepBase.h ++ This is an informal protocol; classes may implement the + + +contentSizeOf:excluding: + + method to report how much memory is used by any + objects/pointers it acts as a container for. + +
Code may call the + + -sizeInBytesExcluding: + + or -sizeInBytes + method to determine how much heap memory an object + (and its content) occupies. ++ +contentSizeOf: +obj +excluding: +exclude ++ This method returns the size of the memory used by the + object instance variables of the target object + (excluding any in the specified set). +
+ This is not the memory occupied by instance variable + pointers. It is the memory referenced by any + objects inside the target.
This method is + not intended to be overridden, rather it is provided + for use as a helper for the + + -sizeOfContentExcluding: + + method.
This method must not be called for a + mutable object unless it is protected by a locking + mechanism to prevent mutation while it is + examining the instance variables of the object. ++ @interface foo : bar + { + id a; // Some object + id b; // More storage + unsigned capacity; // Buffer size + char *p; // The buffer + } + @end + @implementation foo + - (NSUInteger) sizeOfContentExcluding: (NSHashTable*)exclude +{ + NSUInteger size; + + // get the size of the objects (a and b) + size = [NSObject contentSizeOf: self + excluding: exclude]; + // add the memory pointed to by p + size += capacity * sizeof(char); + return size; +} +@end + ++ +sizeInBytes ++ Convenience method calling + + -sizeInBytesExcluding: + + with a newly created exclusion hash table, and + destroying the table once the size is + calculated. + ++ +sizeInBytesExcluding: +exclude ++ This method returns the memory usage of the receiver, + excluding any objects already present in the + exclude table. +
The argument is a + hash table configured to hold non-retained pointer + objects and is used to inform the receiver that its + size should not be counted again if it's already in + the table.
The NSObject implementation returns + zero if the receiver is in the table, but otherwise + adds itself to the table and returns its memory + footprint (the sum of all of its instance + variables, plus the result of calling + + -sizeOfContentExcluding: + + for the instance).
Classes should not override + this method, instead they should implement + + -sizeOfContentExcluding: + + to return the extra memory usage of the pointer/object + instance variables (heap memory) they add to their + superclass.
NB. mutable objects must + either prevent mutation while calculating their + content size, or must override + + -sizeOfContentExcluding: + + to refrain from dealing with content which might change. ++ +sizeOfContentExcluding: +exclude ++ This method is called by + + -sizeInBytesExcluding: + + to calculate the size of any objects or heap memory + contained by the receiver. +
The base class + implementation simply returns zero (as it is + not possible to safely calculate content sizes of + mutable objects), but subclasses should override it + to provide correct information where possible (eg if the + object is immutable or if locking is used to prevent + mutation while calculating content size).
+ Subclasses may use the + + +contentSizeOf:excluding: + + method as a convenience to provide the sizes of + object instance variables. ++ +sizeOfInstance ++ Helper method called by + + -sizeInBytesExcluding: + + to return the size of the instance excluding any + contents (things referenced by pointers). + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -64,12 +65,13 @@Method summaryNSObject(GNUstepBase)
-
- -compare:
-- -isInstance
-- -makeImmutableCopyOnFail:
-- -notImplemented:
-- -shouldNotImplement:
-- -subclassResponsibility:
+- -compare:
+- -isInstance
+- -makeImmutable
+- -makeImmutableCopyOnFail:
+- -notImplemented:
+- -shouldNotImplement:
+- -subclassResponsibility:
@@ -81,7 +83,7 @@compare:
WARNING: The - + -compare: @@ -106,11 +108,34 @@+isInstance
For backward compatibility only... use - - class_isMetaClass() - - - on the class of the receiver instead. + "class_isMetaClass()" on the class of + the receiver instead. + ++
+++makeImmutable
+ - (BOOL) makeImmutable;
++Availability: Not in OpenStep/MacOS-X+
++ + Transmutes the receiver into an immutable + version of the same object. Returns +YES
if the receiver has become + immutable,NO
otherwise.
The + default implementation returnsNO
. +
Mutable classes which have an immutable + counterpart they can efficiently change into, + should override to transmute themselves and return +YES
.
Immutable classes should + override this to simply returnYES
+ with no further action.
This method is used in + methods which are declared to return immutable + objects (eg. an NSArray), but which create and + build mutable ones internally.
@@ -123,16 +148,16 @@makeImmutabl
- Transmutes the receiver into an immutable - version of the same object and returns the result. -Method summary
If the receiver is not a mutable object or - cannot be simply transmuted, then this method either - returns the receiver unchanged or, if the - force flag is set toYES
, - returns an autoreleased copy of the receiver. -
Mutable classes should override this default - implementation.
This method is used - in methods which are declared to return immutable + DEPRECATED... do not use. Transmutes the + receiver into an immutable version of the same + object and returns the result.
If the + receiver is not a mutable object or cannot be + simply transmuted, then this method either returns + the receiver unchanged or, if the force flag + is set toYES
, returns an autoreleased copy + of the receiver.
Mutable classes should override + this default implementation.
This method is + used in methods which are declared to return immutable objects (eg. an NSArray), but which create and build mutable ones internally. @@ -219,7 +244,7 @@NSObject(GSAtExit)
@@ -232,7 +257,7 @@Method summaryatExit
This method is called on exit for any class which implements it and which has called - + +registerAtExit @@ -270,7 +295,7 @@NSObject(GSCleanup)
Category for methods handling leaked memory cleanup on exit of process (for use when debugging memory leaks).
You enable this by calling the - + +setShouldCleanUp: @@ -283,7 +308,7 @@NSObject(GSCleanup)
- 1. Use the +leak: + 1. Use the +leak: method to register objects which are simply to be retained until the process ends, and then either @@ -298,7 +323,7 @@
NSObject(GSCleanup)
2. Implement a - + +atExit @@ -309,18 +334,18 @@
NSObject(GSCleanup)
implementation, call - + +shouldCleanUp to determine whether cleanup should be done, and if it returnsYES
then call - + +registerAtExit to have your - + +atExit @@ -333,7 +358,7 @@NSObject(GSCleanup)
The order in which 'leaked' objects are released and - + +atExit @@ -346,12 +371,12 @@
NSObject(GSCleanup)
-
- +leak:
-- +leakAt:
-- +registerAtExit
-- +registerAtExit:
-- +setShouldCleanUp:
-- +shouldCleanUp
+- +leak:
+- +leakAt:
+- +registerAtExit
+- +registerAtExit:
+- +setShouldCleanUp:
+- +shouldCleanUp
@@ -398,7 +423,7 @@registerAtExit
Sets the receiver to have its - + +atExit @@ -408,12 +433,12 @@registerAtExit class does not implement the method or if it is already registered to call it).
Implemented as a call to - + +registerAtExit: with the selector for the - + +atExit @@ -450,20 +475,16 @@setShouldCleanUp:&nbs Specifies the default cleanup behavior on process exit... the value returned by the NSObject implementation of the - - +shouldClanUp - + + +shouldCleanUp + method.
Calling this method with a -YES
argument implicitly calls the - - +enableAtExit - - - method as well.
The GNUstep Base library - calls this method with the value obtained from the - GNUSTEP_SHOULD_CLEAN_UP environment - variable when NSObject is initialised. +YES
argument implicitly enables the + support for cleanup at exit.
The GNUstep + Base library calls this method with the value obtained + from the GNUSTEP_SHOULD_CLEAN_UP environment variable + when NSObject is initialised.
@@ -480,7 +501,7 @@shouldCleanUp should clean up its data structures etc at process exit.
The NSObject implementation returns the value set by the - + +setShouldCleanUp: @@ -507,25 +528,196 @@NSObject(MemoryFootprint)
- This is an informal protocol... classes may implement - the method to report how much memory is used by the - instance and any objects it acts as a container for. + This is an informal protocol; classes may implement the + + +contentSizeOf:excluding: + + + method to report how much memory is used by any + objects/pointers it acts as a container for. +Method summary
Code may call the + + -sizeInBytesExcluding: + + + or -sizeInBytes + + method to determine how much heap memory an object + (and its content) occupies.-
- -sizeInBytesExcluding:
+- +contentSizeOf:excluding:
+- -sizeInBytes
+- -sizeInBytesExcluding:
+- -sizeOfContentExcluding:
+- -sizeOfInstance
+++contentSizeOf: excluding:
+ + (NSUInteger) contentSizeOf: (NSObject*)obj excluding: (NSHashTable*)exclude;
++Availability: Not in OpenStep/MacOS-X+
++ + This method returns the size of the memory used by the + object instance variables of the target object + (excluding any in the specified set).+
+ This is not the memory occupied by instance variable + pointers. It is the memory referenced by any + objects inside the target.
This method is + not intended to be overridden, rather it is provided + for use as a helper for the + + -sizeOfContentExcluding: + + + method.
This method must not be called for a + mutable object unless it is protected by a locking + mechanism to prevent mutation while it is + examining the instance variables of the object. + ++ @interface foo : bar + { + id a; // Some object + id b; // More storage + unsigned capacity; // Buffer size + char *p; // The buffer + } + @end + @implementation foo + - (NSUInteger) sizeOfContentExcluding: (NSHashTable*)exclude +{ + NSUInteger size; + + // get the size of the objects (a and b) + size = [NSObject contentSizeOf: self + excluding: exclude]; + // add the memory pointed to by p + size += capacity * sizeof(char); + return size; +} +@end ++ + +
++sizeInBytes
+ - (NSUInteger) sizeInBytes;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method calling + + -sizeInBytesExcluding: + + + with a newly created exclusion hash table, and + destroying the table once the size is + calculated. + ++
++sizeInBytesExcluding:
- - (NSUInteger) sizeInBytesExcluding: (NSHashTable*)exclude;
+ - (NSUInteger) sizeInBytesExcluding: (NSHashTable*)exclude;
++Availability: Not in OpenStep/MacOS-X+
++ + This method returns the memory usage of the receiver, + excluding any objects already present in the + exclude table.+
The argument is a + hash table configured to hold non-retained pointer + objects and is used to inform the receiver that its + size should not be counted again if it's already in + the table.
The NSObject implementation returns + zero if the receiver is in the table, but otherwise + adds itself to the table and returns its memory + footprint (the sum of all of its instance + variables, plus the result of calling + + -sizeOfContentExcluding: + + + for the instance).
Classes should not override + this method, instead they should implement + + -sizeOfContentExcluding: + + + to return the extra memory usage of the pointer/object + instance variables (heap memory) they add to their + superclass.
NB. mutable objects must + either prevent mutation while calculating their + content size, or must override + + -sizeOfContentExcluding: + + + to refrain from dealing with content which might change. + +
+++sizeOfContentExcluding:
+ - (NSUInteger) sizeOfContentExcluding: (NSHashTable*)exclude;
++Availability: Not in OpenStep/MacOS-X+
++ + This method is called by + + -sizeInBytesExcluding: + + + to calculate the size of any objects or heap memory + contained by the receiver.+
The base class + implementation simply returns zero (as it is + not possible to safely calculate content sizes of + mutable objects), but subclasses should override it + to provide correct information where possible (eg if the + object is immutable or if locking is used to prevent + mutation while calculating content size).
+ Subclasses may use the + + +contentSizeOf:excluding: + + + method as a convenience to provide the sizes of + object instance variables. + +
++sizeOfInstance
+ - (NSUInteger) sizeOfInstance;
Availability: Not in OpenStep/MacOS-X
- Description forthcoming. + Helper method called by + + -sizeInBytesExcluding: + + + to return the size of the instance excluding any + contents (things referenced by pointers).
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSProcessInfo+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSProcessInfo+GNUstepBase.gsdoc new file mode 100644 index 0000000..ad4bac8 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSProcessInfo+GNUstepBase.gsdoc @@ -0,0 +1,60 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSProcessInfo+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSProcessInfo+GNUstepBase.html index e5eb3e0..9d5fac2 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSProcessInfo+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSProcessInfo+GNUstepBase.html @@ -16,6 +16,7 @@NSProcessInfo+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the + NSProcessInfo(GNUstepBase) category + ++ +GNUstepBase/NSProcessInfo+GNUstepBase.h ++ Description forthcoming. + ++ +debugLoggingEnabled ++ Returns a indication of whether debug logging is + enabled. This returns +YES
unless a + call to + + -setDebugLoggingEnabled: + + has been used to turn logging off. ++ +debugSet ++ This method returns a set of debug levels set using + the --GNU-Debug=... command line option and/or the + GNU-Debug user default. +
You can modify + this set to change the debug logging under your + programs control... but such modifications are not + thread-safe. ++ +setDebugLoggingEnabled: +flag ++ This method permits you to turn all debug logging on + or off without modifying the set of debug levels in use. + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -42,9 +43,9 @@Method summaryNSProcessInfo(GNUstepBase)
-
- -debugLoggingEnabled
-- -debugSet
-- -setDebugLoggingEnabled:
+- -debugLoggingEnabled
+- -debugSet
+- -setDebugLoggingEnabled:
@@ -58,7 +59,7 @@debugLogging Returns a indication of whether debug logging is enabled. This returns
YES
unless a call to - + -setDebugLoggingEnabled: diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSString+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSString+GNUstepBase.gsdoc new file mode 100644 index 0000000..b9646c0 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSString+GNUstepBase.gsdoc @@ -0,0 +1,107 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSString+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSString+GNUstepBase.html index 44c5174..a9ef470 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSString+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSString+GNUstepBase.html @@ -16,6 +16,7 @@NSString+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the NSString(GNUstepBase) + category + ++ +GNUstepBase/NSString+GNUstepBase.h ++ Provides some additional (non-standard) utility + methods. + ++ +stringWithFormat: +format +arguments: +argList ++ Alternate way to invoke + +stringWithFormat
if you have or wish to + build an explicitva_list
structure. ++ +stringByDeletingPrefix: +prefix ++ Returns a string formed by removing the + prefix string from the receiver. Raises an + exception if the prefix is not + present. + ++ +stringByDeletingSuffix: +suffix ++ Returns a string formed by removing the + suffix string from the receiver. Raises an + exception if the suffix is not + present. + ++ +stringByReplacingString: +replace +withString: +by ++ Returns a string in which any (and all) occurrences + of replace in the receiver have been replaced + with by. Returns the receiver if + replace does not occur within the + receiver. NB. an empty string is not considered + to exist within the receiver. + ++ +stringByTrimmingLeadSpaces ++ Returns a string formed by removing leading white + space from the receiver. + ++ +stringByTrimmingSpaces ++ Returns a string formed by removing both leading + and trailing white space from the receiver. + ++ +stringByTrimmingTailSpaces ++ Returns a string formed by removing trailing white + space from the receiver. + ++ +substringFromRange: +aRange ++ An obsolete name for + + -substringWithRange: + + ... deprecated. + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -43,14 +44,14 @@Method summaryNSString(GNUstepBase)
-
- +stringWithFormat:arguments:
-- -stringByDeletingPrefix:
-- -stringByDeletingSuffix:
-- -stringByReplacingString:withString:
-- -stringByTrimmingLeadSpaces
-- -stringByTrimmingSpaces
-- -stringByTrimmingTailSpaces
-- -substringFromRange:
+- +stringWithFormat:arguments:
+- -stringByDeletingPrefix:
+- -stringByDeletingSuffix:
+- -stringByReplacingString:withString:
+- -stringByTrimmingLeadSpaces
+- -stringByTrimmingSpaces
+- -stringByTrimmingTailSpaces
+- -substringFromRange:
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSTask+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSTask+GNUstepBase.gsdoc new file mode 100644 index 0000000..ae485c6 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSTask+GNUstepBase.gsdoc @@ -0,0 +1,66 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSTask+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSTask+GNUstepBase.html index 75841a1..6b3580c 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSTask+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSTask+GNUstepBase.html @@ -16,6 +16,7 @@NSTask+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2008 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the NSTask(GNUstepBase) + category + ++ +GNUstepBase/NSTask+GNUstepBase.h ++ Description forthcoming. + ++ +executableExtensions ++ Returns the set of extensions known to indicate an + executable file type on systems which require + that (currently mswindows). + ++ +executablePath: +aFile ++ Checks the specified file to see if it is executable + or if by appending one of the + + +executableExtensions + + it can be made executable. The return value is the + actual executable path or +nil
if the + file cannot be executed. ++ +launchPathForTool: +name ++ Returns the launch path for a tool given the + name of a tool. +
Locates the tool by + looking in the standard directories and, if not + found there, looking in the PATH set in the + environment.
On ms-windows, this also + tries appending common executable path extensions to + the tool name in order to find it.
+ Returns the path found, ornil
if the + tool could not be located. +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2008 Free Software Foundation, Inc.
@@ -42,9 +43,9 @@Method summaryNSTask(GNUstepBase)
-
- +executableExtensions
-- +executablePath:
-- +launchPathForTool:
+- +executableExtensions
+- +executablePath:
+- +launchPathForTool:
@@ -72,7 +73,7 @@executablePath: Checks the specified file to see if it is executable or if by appending one of the - + +executableExtensions diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSThread+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSThread+GNUstepBase.gsdoc new file mode 100644 index 0000000..5905fc5 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSThread+GNUstepBase.gsdoc @@ -0,0 +1,29 @@ + + +
+ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSThread+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSThread+GNUstepBase.html index 5cdc2c0..49ee4f5 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSThread+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSThread+GNUstepBase.html @@ -16,6 +16,7 @@NSThread+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + + ++ Software documentation for the NSThread(GNUstepBase) + category + ++ +GNUstepBase/NSThread+GNUstepBase.h ++ Description forthcoming. + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSURL+GNUstepBase.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/NSURL+GNUstepBase.gsdoc new file mode 100644 index 0000000..d98d9f2 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSURL+GNUstepBase.gsdoc @@ -0,0 +1,97 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/NSURL+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/NSURL+GNUstepBase.html index b52d578..57f88ef 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/NSURL+GNUstepBase.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/NSURL+GNUstepBase.html @@ -16,6 +16,7 @@NSURL+GNUstepBase documentation ++ ++ rfm@gnu.org + +Generated at 2023-12-20 19:35:46 -0500 +2003-2010 Free Software Foundation, Inc. + + ++ + ++ Software documentation for the NSURL(GNUstepBase) + category + ++ +GNUstepBase/NSURL+GNUstepBase.h ++ Description forthcoming. + ++ +fullPath ++ Returns the full path for this URL including any + trailing slash. + ++ +pathWithEscapes ++ Returns the full path for this URL, without + decoding percent-escapes. +
This is useful if + you need to distinguish between "/" and "%2F" in the + path. The normal + + -path + + method will convert all "%2F" value in the path into + "/" so that you have no way of knowing whether a "/" is + part of a path component ir is a path separator. ++ + ++ Software documentation for the + NSURL(GNUstepBaseAdditions) + category + ++ +GNUstepBase/NSURL+GNUstepBase.h ++ Description forthcoming. + ++ +cacheKey ++ Returns a string (encapsulating the scheme, host + and port of the receiver) suitable for use as a key to + store the receiver in a cache of objects used to + access resources using the same network connection. + ++ +initWithScheme: +scheme +user: +user +password: +password +host: +host +port: +port +fullPath: +fullPath +parameterString: +parameterString +query: +query +fragment: +fragment ++ Builds a URL from components as returned by the + methods of the same names. + +Authors
- +
Date: Generated at 2023-12-20 19:35:46 -0500
Copyright: (C) 2003-2010 Free Software Foundation, Inc.
@@ -56,8 +57,8 @@Method summaryNSURL(GNUstepBase)
@@ -86,9 +87,9 @@pathWithEscapes This is useful if you need to distinguish between "/" and "%2F" in the path. The normal - + -path - + method will convert all "%2F" value in the path into "/" so that you have no way of knowing whether a "/" is @@ -120,9 +121,26 @@
NSURL(GNUstepBaseAdditions Method summary
-
- -initWithScheme:user:password:host:port:fullPath:parameterString:query:fragment:
+- -cacheKey
+- -initWithScheme:user:password:host:port:fullPath:parameterString:query:fragment:
++cacheKey
+ - (NSString*) cacheKey;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string (encapsulating the scheme, host + and port of the receiver) suitable for use as a key to + store the receiver in a cache of objects used to + access resources using the same network connection. + ++
+@@ -187,7 +207,7 @@initWithScheme: user: password: host: port: fullPath: parameterString: query: fragment:
- (id) initWithScheme: (NSString*)scheme user: (NSString*)user password: (NSString*)password host: (NSString*)host port: (NSNumber*)port fullPath: (NSString*)fullPath parameterString: (NSString*)parameterString query: (NSString*)query fragment: (NSString*)fragment;
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/OrderedSymbolDeclarations.plist b/resources/documentation/Developer/BaseAdditions/Reference/OrderedSymbolDeclarations.plist new file mode 100644 index 0000000..3fc615e --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/OrderedSymbolDeclarations.plist @@ -0,0 +1,517 @@ +{ + GCObject = ( + "+gcCollectGarbage", + "+gcIsCollecting", + "+gcObjectWillBeDeallocated:", + "-gcDecrementRefCount", + "-gcDecrementRefCountOfContainedObjects", + "-gcIncrementRefCount", + "-gcIncrementRefCountOfContainedObjects" + ); + "GCObject(Extra)" = ( + "-gcNextObject", + "-gcPreviousObject", + "-gcSetNextObject:", + "-gcSetPreviousObject:", + "-gcAlreadyVisited", + "-gcSetVisited:" + ); + GSLazyLock = ( + "-_becomeThreaded:" + ); + GSLazyRecursiveLock = ( + "-_becomeThreaded:" + ); + GSMimeCodingContext = ( + "-atEnd", + "-decodeData:length:intoData:", + "-setAtEnd:" + ); + GSMimeDocument = ( + "+charsetForXml:", + "+charsetFromEncoding:", + "+decodeBase64:", + "+decodeBase64String:", + "+documentWithContent:type:name:", + "+encodeBase64:", + "+encodeBase64String:", + "+encodingFromCharset:", + "-addContent:", + "-addHeader:", + "-addHeader:value:parameters:", + "-allHeaders", + "-content", + "-contentByID:", + "-contentByLocation:", + "-contentByName:", + "-copyWithZone:", + "-contentFile", + "-contentID", + "-contentLocation", + "-contentName", + "-contentSubtype", + "-contentType", + "-contentsByName:", + "-convertTo7BitSafe", + "-convertToBase64", + "-convertToBinary", + "-convertToData", + "-convertToText", + "-deleteContent:", + "-deleteHeader:", + "-deleteHeaderNamed:", + "-estimatedSize", + "-headerNamed:", + "-headersNamed:", + "-makeBoundary", + "-makeContentID", + "-makeHeader:value:parameters:", + "-makeMessageID", + "-rawMimeData", + "-rawMimeData:", + "-rawMimeData:foldedAt:", + "-setContent:", + "-setContent:type:", + "-setContent:type:name:", + "-setContentType:", + "-setHeader:", + "-setHeader:value:parameters:" + ); + GSMimeHeader = ( + "+headerWithName:value:parameters:", + "+makeQuoted:always:", + "+makeToken:preservingCase:", + "+makeToken:", + "-copyWithZone:", + "-estimatedSize", + "-fullValue", + "-initWithName:value:", + "-initWithName:value:parameters:", + "-name", + "-namePreservingCase:", + "-objectForKey:", + "-objects", + "-parameterForKey:", + "-parameters", + "-parametersPreservingCase:", + "-rawMimeData", + "-rawMimeDataPreservingCase:", + "-rawMimeDataPreservingCase:foldedAt:", + "-rawMimeDataPreservingCase:foldedAt:to:", + "-setObject:forKey:", + "-setParameter:forKey:", + "-setParameters:", + "-setValue:", + "-text", + "-value" + ); + GSMimeParser = ( + "+documentFromData:", + "+mimeParser", + "-contextFor:", + "-data", + "-decodeData:fromRange:intoData:withContext:", + "-excess", + "-expectNoHeaders", + "-isComplete", + "-isHttp", + "-isInBody", + "-isInHeaders", + "-mimeDocument", + "-parse:", + "-parseHeaders:remaining:", + "-parseHeader:", + "-scanHeaderBody:into:", + "-scanName:", + "-scanPastSpace:", + "-scanSpecial:", + "-scanToken:", + "-setBuggyQuotes:", + "-setDefaultCharset:", + "-setHeadersOnly", + "-setIsHttp" + ); + GSMimeSMTPClient = ( + "-abort", + "-delegate", + "-flush:", + "-lastError", + "-queueSize", + "-send:", + "-send:envelopeID:", + "-setDelegate:", + "-setHostname:", + "-setIdentity:", + "-setMaximum:", + "-setOriginator:", + "-setPort:", + "-setUsername:", + "-state", + "-stateDesc" + ); + GSMimeSerializer = ( + "+binarySerializer", + "+smtp7bitSerializer", + "-copyWithZone:", + "-dataEncoding", + "-encodeDocument:", + "-encodePart:to:", + "-foldAt", + "-setFoldAt:", + "-setDataEncoding:", + "-setTextEncoding:", + "-setUse8bit:", + "-textEncoding", + "-use8bit" + ); + GSSAXHandler = ( + "+handler", + "-lib", + "-parser", + "-attribute:value:", + "-attributeDecl:name:type:typeDefValue:defaultValue:", + "-characters:", + "-cdataBlock:", + "-comment:", + "-elementDecl:type:", + "-endDocument", + "-endElement:", + "-endElement:prefix:href:", + "-entityDecl:type:public:system:content:", + "-error:", + "-error:colNumber:lineNumber:", + "-externalSubset:externalID:systemID:", + "-fatalError:", + "-fatalError:colNumber:lineNumber:", + "-getEntity:", + "-getParameterEntity:", + "-globalNamespace:href:prefix:", + "-hasExternalSubset", + "-hasInternalSubset", + "-ignoreWhitespace:", + "-internalSubset:externalID:systemID:", + "-isStandalone", + "-loadEntity:at:", + "-namespaceDecl:href:prefix:", + "-notationDecl:public:system:", + "-processInstruction:data:", + "-reference:", + "-startDocument", + "-startElement:attributes:", + "-startElement:prefix:href:attributes:namespaces:", + "-unparsedEntityDecl:public:system:notationName:", + "-warning:", + "-warning:colNumber:lineNumber:" + ); + GSTLSCertificateList = ( + "+listFromFile:", + "-certificateList", + "-count", + "-expiresAt", + "-expiresAt:" + ); + GSTLSCredentials = ( + "+credentialsFromCAFile:defaultCAFile:revokeFile:defaultRevokeFile:certificateFile:certificateKeyFile:certificateKeyPassword:asClient:debug:", + "+selfSigned:", + "-credentials", + "-key", + "-list", + "-trust" + ); + GSTLSDHParams = ( + "+current", + "+generate", + "+paramsFromFile:", + "-params" + ); + GSTLSObject = ( + "+dataForTLSFile:", + "+setData:forTLSFile:" + ); + GSTLSPrivateKey = ( + "+keyFromFile:withPassword:", + "-key" + ); + GSTLSSession = ( + "+sessionWithOptions:direction:transport:push:pull:", + "-initWithOptions:direction:transport:push:pull:", + "-active", + "-age", + "-credentials", + "-debug", + "-disconnect:", + "-handshake", + "-issuer", + "-owner", + "-pending", + "-problem", + "-read:length:", + "-sessionInfo", + "-write:length:", + "-verify" + ); + GSXMLAttribute = ( + "-value" + ); + GSXMLDocument = ( + "+documentWithVersion:", + "-description", + "-encoding", + "-lib", + "-makeNodeWithNamespace:name:content:", + "-root", + "-setRoot:", + "-version", + "-writeToFile:atomically:", + "-writeToURL:atomically:" + ); + "GSXMLDocument(XSLT)" = ( + "+xsltTransformFile:stylesheet:params:", + "+xsltTransformFile:stylesheet:", + "+xsltTransformXml:stylesheet:params:", + "+xsltTransformXml:stylesheet:", + "-xsltTransform:params:", + "-xsltTransform:" + ); + GSXMLNamespace = ( + "+descriptionFromType:", + "+typeFromDescription:", + "-href", + "-lib", + "-next", + "-prefix", + "-type", + "-typeDescription" + ); + GSXMLNode = ( + "+descriptionFromType:", + "+typeFromDescription:", + "-attributes", + "-content", + "-description", + "-document", + "-escapedContent", + "-firstAttribute", + "-firstChild", + "-firstChildElement", + "-isElement", + "-isText", + "-lib", + "-makeAttributeWithName:value:", + "-makeChildWithNamespace:name:content:", + "-makeComment:", + "-makeNamespaceHref:prefix:", + "-makePI:content:", + "-makeText:", + "-name", + "-namespace", + "-namespaceDefinitions", + "-next", + "-nextElement", + "-objectForKey:", + "-parent", + "-previous", + "-previousElement", + "-propertiesAsDictionaryWithKeyTransformationSel:", + "-setObject:forKey:", + "-type", + "-typeDescription", + "-setNamespace:" + ); + GSXMLParser = ( + "+loadEntity:at:", + "+parser", + "+parserWithContentsOfFile:", + "+parserWithContentsOfURL:", + "+parserWithData:", + "+parserWithSAXHandler:", + "+parserWithSAXHandler:withContentsOfFile:", + "+parserWithSAXHandler:withContentsOfURL:", + "+parserWithSAXHandler:withData:", + "+setDTDs:", + "+xmlEncodingStringForStringEncoding:", + "-abortParsing", + "-columnNumber", + "-document", + "-doValidityChecking:", + "-errNo", + "-getWarnings:", + "-initWithSAXHandler:", + "-initWithSAXHandler:withContentsOfFile:", + "-initWithSAXHandler:withContentsOfURL:", + "-initWithSAXHandler:withData:", + "-initWithSAXHandler:withInputStream:", + "-keepBlanks:", + "-lineNumber", + "-messages", + "-parse", + "-parse:", + "-publicID", + "-saveMessages:", + "-resolveEntities:", + "-substituteEntities:", + "-systemID" + ); + GSXMLRPC = ( + "-buildMethod:params:", + "-buildMethodCall:params:", + "-buildResponseWithFaultCode:andString:", + "-buildResponseWithParams:", + "-compact", + "-delegate", + "-initWithURL:", + "-initWithURL:certificate:privateKey:password:", + "-makeMethodCall:params:timeout:", + "-parseMethod:params:", + "-parseResponse:params:", + "-result", + "-sendMethodCall:params:timeout:", + "-setCompact:", + "-setDebug:", + "-setDelegate:", + "-setTimeZone:", + "-timeout:", + "-timeZone", + "-URLHandle:resourceDataDidBecomeAvailable:", + "-URLHandle:resourceDidFailLoadingWithReason:", + "-URLHandleResourceDidBeginLoading:", + "-URLHandleResourceDidCancelLoading:", + "-URLHandleResourceDidFinishLoading:" + ); + "GSXMLRPC(Delegate)" = ( + "-completedXMLRPC:" + ); + GSXPathBoolean = ( + "-booleanValue" + ); + GSXPathContext = ( + "-initWithDocument:", + "-evaluateExpression:", + "-registerNamespaceWithPrefix:href:" + ); + GSXPathNodeSet = ( + "-count", + "-length", + "-nodeAtIndex:" + ); + GSXPathNumber = ( + "-doubleValue" + ); + GSXPathString = ( + "-stringValue" + ); + "NSArray(GNUstepBase)" = ( + "-insertionPosition:usingFunction:context:", + "-insertionPosition:usingSelector:" + ); + "NSAttributedString(GNUstepBase)" = ( + "-attributedSubstringWithRange:" + ); + "NSBundle(GNUstepBase)" = ( + "+pathForLibraryResource:ofType:inDirectory:" + ); + "NSCalendarDate(GNUstepBase)" = ( + "-isoYear", + "-weekOfYear" + ); + "NSData(GNUstepBase)" = ( + "+dataWithRandomBytesOfLength:", + "-escapedRepresentation", + "-escapedRepresentation:", + "-gunzipped", + "-gzipped:", + "-isGzipped", + "-hexadecimalRepresentation", + "-hexadecimalRepresentation:", + "-initWithHexadecimalRepresentation:", + "-md5Digest", + "-uudecodeInto:name:mode:", + "-uuencodeInto:name:mode:" + ); + "NSFileHandle(GNUstepBase)" = ( + "+fileHandleAsServerAtAddress:service:protocol:", + "-socketAddress" + ); + "NSLock(GNUstepBase)" = ( + "+newLockAt:" + ); + "NSMutableString(GNUstepBase)" = ( + "-deleteSuffix:", + "-deletePrefix:", + "-immutableProxy", + "-replaceString:withString:", + "-trimLeadSpaces", + "-trimTailSpaces", + "-trimSpaces" + ); + "NSNumber(GNUstepBase)" = ( + "+valueFromString:" + ); + "NSObject(GNUstepBase)" = ( + "-compare:", + "-isInstance", + "-makeImmutableCopyOnFail:", + "-makeImmutable", + "-notImplemented:", + "-subclassResponsibility:", + "-shouldNotImplement:" + ); + "NSObject(GSAtExit)" = ( + "+atExit" + ); + "NSObject(GSCleanup)" = ( + "+leak:", + "+leakAt:", + "+registerAtExit", + "+registerAtExit:", + "+setShouldCleanUp:", + "+shouldCleanUp" + ); + "NSObject(GSMimeSMTPClient)" = ( + "-smtpClient:mimeFailed:", + "-smtpClient:mimeSent:", + "-smtpClient:mimeUnsent:" + ); + "NSObject(MemoryFootprint)" = ( + "+contentSizeOf:excluding:", + "-sizeInBytesExcluding:", + "-sizeInBytes", + "-sizeOfContentExcluding:", + "-sizeOfInstance" + ); + "NSProcessInfo(GNUstepBase)" = ( + "-debugLoggingEnabled", + "-debugSet", + "-setDebugLoggingEnabled:" + ); + "NSRecursiveLock(GNUstepBase)" = ( + "+newLockAt:" + ); + "NSString(GNUstepBase)" = ( + "+stringWithFormat:arguments:", + "-stringByDeletingPrefix:", + "-stringByDeletingSuffix:", + "-stringByTrimmingLeadSpaces", + "-stringByTrimmingTailSpaces", + "-stringByTrimmingSpaces", + "-stringByReplacingString:withString:", + "-substringFromRange:" + ); + "NSString(GSXML)" = ( + "-stringByEscapingXML", + "-stringByUnescapingXML" + ); + "NSTask(GNUstepBase)" = ( + "+executableExtensions", + "+executablePath:", + "+launchPathForTool:" + ); + "NSURL(GNUstepBase)" = ( + "-fullPath", + "-pathWithEscapes" + ); + "NSURL(GNUstepBaseAdditions)" = ( + "-cacheKey", + "-initWithScheme:user:password:host:port:fullPath:parameterString:query:fragment:" + ); +} \ No newline at end of file diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/BaseAdditions.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/BaseAdditions.html new file mode 100644 index 0000000..9be50bc --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/BaseAdditions.html @@ -0,0 +1,121 @@ + + + + +GNUstep Base Additions + + + +GNUstep Base Additions
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Version: $Revision: 1.42 $
+Date: $Date: 2015/09/15 14:18:06 $
+Copyright: (C) 2005 Free Software Foundation, Inc.
+ + +Base Additions
++ + The GNUstep base additions package comes with the GNUstep base + package, and provides additional non-standard classes and + additional features for standard classes. It is also intended + to be built standalone for use on systems where the GNUstep + base is not installed, but where an alternative Foundation is + available. +
+ Title Index ++
+- Functions
+- GCObject documentation
+- GSLock documentation
+- The MIME parsing system
+- The XML and HTML parsing system
+- NSArray+GNUstepBase documentation
+- NSAttributedString+GNUstepBase documentation
+- NSBundle+GNUstepBase documentation
+- NSCalendarDate+GNUstepBase documentation
+- NSData+GNUstepBase documentation
+- NSFileHandle+GNUstepBase documentation
+- NSLock+GNUstepBase documentation
+- NSMutableString+GNUstepBase documentation
+- NSNumber+GNUstepBase documentation
+- NSObject+GNUstepBase documentation
+- NSProcessInfo+GNUstepBase documentation
+- NSString+GNUstepBase documentation
+- NSTask+GNUstepBase documentation
+- NSThread+GNUstepBase documentation
+- NSURL+GNUstepBase documentation
+- Types and Constants
++ + Class +++
+ Category +- GCArray
+- GCDictionary
+- GCMutableArray
+- GCMutableDictionary
+- GCObject
+- GSHTMLParser
+- GSHTMLSAXHandler
+- GSLazyLock
+- GSLazyRecursiveLock
+- GSMimeCodingContext
+- GSMimeDocument
+- GSMimeHeader
+- GSMimeParser
+- GSMimeSMTPClient
+- GSSAXHandler
+- GSTreeSAXHandler
+- GSXMLAttribute
+- GSXMLDocument
+- GSXMLNamespace
+- GSXMLNode
+- GSXMLParser
+- GSXMLRPC
+- GSXPathBoolean
+- GSXPathContext
+- GSXPathNodeSet
+- GSXPathNumber
+- GSXPathObject
+- GSXPathString
++
+- GCObject(Extra)
+- GSXMLDocument(XSLT)
+- GSXMLRPC(Delegate)
+- NSArray(GNUstepBase)
+- NSAttributedString(GNUstepBase)
+- NSBundle(GNUstepBase)
+- NSCalendarDate(GNUstepBase)
+- NSData(GNUstepBase)
+- NSFileHandle(GNUstepBase)
+- NSLock(GNUstepBase)
+- NSMutableString(GNUstepBase)
+- NSNumber(GNUstepBase)
+- NSObject(GNUstepBase)
+- NSObject(GSAtExit)
+- NSObject(GSCleanup)
+- NSObject(GSMimeSMTPClient)
+- NSObject(MemoryFootprint)
+- NSProcessInfo(GNUstepBase)
+- NSRecursiveLock(GNUstepBase)
+- NSString(GNUstepBase)
+- NSString(GSXML)
+- NSTask(GNUstepBase)
+- NSThread(GNUstepBase)
+- NSURL(GNUstepBase)
+- NSURL(GNUstepBaseAdditions)
+
+ + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/ClassesTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/ClassesTOC.html new file mode 100644 index 0000000..f169489 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/ClassesTOC.html @@ -0,0 +1,46 @@ + + + + +Classes + + + +Classes
+ + + + GCArray
+ GCDictionary
+ GCMutableArray
+ GCMutableDictionary
+ GCObject
+ GSHTMLParser
+ GSHTMLSAXHandler
+ GSLazyLock
+ GSLazyRecursiveLock
+ GSMimeCodingContext
+ GSMimeDocument
+ GSMimeHeader
+ GSMimeParser
+ GSMimeSMTPClient
+ GSSAXHandler
+ GSTreeSAXHandler
+ GSXMLAttribute
+ GSXMLDocument
+ GSXMLNamespace
+ GSXMLNode
+ GSXMLParser
+ GSXMLRPC
+ GSXPathBoolean
+ GSXPathContext
+ GSXPathNodeSet
+ GSXPathNumber
+ GSXPathObject
+ GSXPathString
+ +
+ + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/ConstantsTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/ConstantsTOC.html new file mode 100644 index 0000000..d97b4b8 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/ConstantsTOC.html @@ -0,0 +1,19 @@ + + + + +Constants + + + +Constants
+ + + + GSMimeErrorDomain
+ +
+ + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/Functions.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/Functions.html new file mode 100644 index 0000000..210732a --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/Functions.html @@ -0,0 +1,4005 @@ + + + + +Functions + + + + Up +
+Functions
+Authors
++
+- Richard Frith-Macdonald
+- +
+Copyright: (C) 2005 Free Software Foundation, Inc.
+ ++ ++ +
+Contents -
++
+- + Function index +
+- + Macro index +
+- + GNUstep macros +
+- + GSBlocks macros +
+- + GSVersionMacros macros +
+- + GSObjCRuntime macros +
+- + NSDebug+GNUstepBase macros +
+- + NSLock+GNUstepBase macros +
+- + GSBlocks functions +
+- + GSVersionMacros functions +
+- + GSObjCRuntime functions +
+- + GSIArray functions +
+- + GSIMap functions +
+- + GSFunctions functions +
+- + GSLocale functions +
+- + NSDebug+GNUstepBase functions +
+- + NSThread+GNUstepBase functions +
+- + Unicode functions +
+
+ +Function index
+ Function ++
+ +- GSAutoreleasedBuffer
+- GSCGetInstanceVariableDefinition
+- GSClassFromName
+- GSClassList
+- GSClassNameFromObject
+- GSClassSwizzle
+- GSCurrentThread
+- GSCurrentThreadDictionary
+- GSDebugFunctionMsg
+- GSDebugMethodMsg
+- GSDebugSet
+- GSDefaultLanguageLocale
+- GSDomainFromDefaultLocale
+- GSEncodingForRegistry
+- GSEncodingFromLocale
+- GSFindNamedFile
+- GSFlushMethodCacheForClass
+- GSFromUnicode
+- GSGetMethod
+- GSIArrayAddItem
+- GSIArrayAddItemNoRetain
+- GSIArrayCapacity
+- GSIArrayCheckSort
+- GSIArrayClear
+- GSIArrayCopyWithZone
+- GSIArrayCount
+- GSIArrayEmpty
+- GSIArrayGrow
+- GSIArrayGrowTo
+- GSIArrayInitWithZoneAndCapacity
+- GSIArrayInitWithZoneAndStaticCapacity
+- GSIArrayInsertItem
+- GSIArrayInsertItemNoRetain
+- GSIArrayInsertSorted
+- GSIArrayInsertSortedNoRetain
+- GSIArrayInsertionPosition
+- GSIArrayItemAtIndex
+- GSIArrayItems
+- GSIArrayLastItem
+- GSIArrayRemoveAllItems
+- GSIArrayRemoveItemAtIndex
+- GSIArrayRemoveItemAtIndexNoRelease
+- GSIArrayRemoveItemsFromIndex
+- GSIArrayRemoveLastItem
+- GSIArraySearch
+- GSIArraySetItemAtIndex
+- GSIMapAddKey
+- GSIMapAddKeyNoRetain
+- GSIMapAddNodeToBucket
+- GSIMapAddNodeToMap
+- GSIMapAddPair
+- GSIMapAddPairNoRetain
+- GSIMapBucketForKey
+- GSIMapCleanMap
+- GSIMapCountByEnumeratingWithStateObjectsCount
+- GSIMapEmptyMap
+- GSIMapEndEnumerator
+- GSIMapEnumeratorBucket
+- GSIMapEnumeratorForMap
+- GSIMapEnumeratorNextNode
+- GSIMapFirstNode
+- GSIMapFreeNode
+- GSIMapInitWithZoneAndCapacity
+- GSIMapLinkNodeIntoBucket
+- GSIMapMoreNodes
+- GSIMapNodeForKey
+- GSIMapNodeForKeyInBucket
+- GSIMapNodeForSimpleKey
+- GSIMapPickBucket
+- GSIMapRemangleBuckets
+- GSIMapRemoveAndFreeNode
+- GSIMapRemoveKey
+- GSIMapRemoveNodeFromBucket
+- GSIMapRemoveNodeFromMap
+- GSIMapRemoveWeak
+- GSIMapResize
+- GSIMapRightSizeMap
+- GSIMapSize
+- GSIMapUnlinkNodeFromBucket
+- GSLanguageFromLocale
+- GSLanguagesFromLocale
+- GSLastErrorStr
+- GSLocaleVariants
+- GSNameFromClass
+- GSNameFromSelector
+- GSObjCAddClassBehavior
+- GSObjCAddClassOverride
+- GSObjCAddClasses
+- GSObjCAddMethods
+- GSObjCAllSubclassesOfClass
+- GSObjCBehaviorDebug
+- GSObjCClass
+- GSObjCDirectSubclassesOfClass
+- GSObjCFindVariable
+- GSObjCGetInstanceVariableDefinition
+- GSObjCGetVal
+- GSObjCGetVariable
+- GSObjCIsClass
+- GSObjCIsInstance
+- GSObjCIsKindOf
+- GSObjCMakeClass
+- GSObjCMethodNames
+- GSObjCSetVal
+- GSObjCSetVariable
+- GSObjCSuper
+- GSObjCVariableNames
+- GSObjCVersion
+- GSPrintf
+- GSProtocolFromName
+- GSProtocolGetMethodDescriptionRecursive
+- GSRegisterProtocol
+- GSSelectorFromName
+- GSSelectorFromNameAndTypes
+- GSSelectorTypesMatch
+- GSSetLocale
+- GSSetLocaleC
+- GSSkipTypeQualifierAndLayoutInfo
+- GSToUnicode
+- GSTypesFromSelector
+- GSUnicode
+- _Block_copy
+- _Block_release
+- gs_consumed
+- uni_cop
+- uni_is_decomp
+- uni_isnonsp
+- uni_tolower
+- uni_toupper
+Macro index
+ Macro ++
+- ASSIGN
+- ASSIGNCOPY
+- AUTORELEASE
+- CALL_BLOCK
+- CALL_BLOCK_NO_ARGS
+- CHECK_INDEX_RANGE_ERROR
+- CREATE_AUTORELEASE_POOL
+- DESTROY
+- GSLocalizedStaticString
+- GSOnceFLog
+- GSOnceMLog
+- GS_API_LATEST
+- GS_API_MACOSX
+- GS_API_NONE
+- GS_API_OPENSTEP
+- GS_API_OSSPEC
+- GS_API_VERSION
+- GS_INITIALIZED_LOCK
+- GS_MAX_OBJECTS_FROM_STACK
+- GS_RANGE_CHECK
+- GS_USEIDLIST
+- GS_USEIDPAIRLIST
+- NSDebugFLLog
+- NSDebugFLog
+- NSDebugFRLog
+- NSDebugLLog
+- NSDebugLog
+- NSDebugMLLog
+- NSDebugMLog
+- NSDebugMRLog
+- NSWarnFLog
+- NSWarnLog
+- NSWarnMLog
+- OS_API_VERSION
+- RECREATE_AUTORELEASE_POOL
+- RELEASE
+- RETAIN
+- TEST_AUTORELEASE
+- TEST_RELEASE
+- TEST_RETAIN
+- _
+- __
+GNUstep macros
++
+ASSIGN
+ ASSIGN(object, value)
++Availability: OpenStep+
++ + ASSIGN(object,value) assigns the + value to the object with + appropriate retain and release operations.+
+ Use this to avoid retain/release errors. + +
+ASSIGNCOPY
+ ASSIGNCOPY(object, value)
++Availability: OpenStep+
++ + ASSIGNCOPY(object,value) assigns a + copy of the value to the object + with release of the original.+
Use this to avoid + retain/release errors. + +
+AUTORELEASE
+ AUTORELEASE(object)
++Availability: OpenStep+
++ + Basic autorelease operation... calls + + [NSObject -autorelease] + + ++
Deprecated... pointless on modern processors. + Simply call the + + -autorelease + + + method. + +
+CHECK_INDEX_RANGE_ERROR
+ CHECK_INDEX_RANGE_ERROR(INDEX, OVER)
++Availability: OpenStep+
++ + Checks whether INDEX is strictly less than + OVER (within C array space). + INDEX and OVER must be + unsigned integers (NSUInteger). + ++
+CREATE_AUTORELEASE_POOL
+ CREATE_AUTORELEASE_POOL(X)
++Availability: OpenStep+
++ + DEPRECATED... use NSAutoreleasePool *X = + [NSAutoreleasePool new] + ++
+DESTROY
+ DESTROY(object)
++Availability: OpenStep+
++ + + DESTROY() + + + is a release operation which also sets the variable to be + a+nil
pointer for tidiness - we can't + accidentally use a DESTROYED object + later. It also makes sure to set the variable to +nil
before releasing the + object - to avoid side-effects of the + release trying to reference the object + being released through the variable. + +
+GSLocalizedStaticString
+ GSLocalizedStaticString(key, comment)
++Availability: OpenStep+
++ + + +++ + This function (macro) is a GNUstep extensions, and it + is used to localize static strings. Here is an example + of a static string: +
++ + +
++ +
++ NSString *message = @"Hi there";... some code... + NSLog (message); +
++ + +
++ + This string can not be localized using the standard + openstep functions/macros. By using this gnustep + extension, you can localize it as follows: +
++ + +
++ +
++ NSString *message = GSLocalizedStaticString + (@"Hi there", @"Greeting");... some code... NSLog + (NSLocalizedString (message, @"")); +
++ + +
++ + When the tools generate the +
+Localizable.strings
file from the + source code, they will ignore the +NSLocalizedString
call while they will + extract the string (and the comment) to + localize from the +GSLocalizedStaticString
call. ++ + +
++ + When the code is compiled, instead, the +
+GSLocalizedStaticString
call is ignored + (discarded, it is a macro which simply expands + tokey
), while the +NSLocalizedString
will actually look up + the string for translation in the +Localizable.strings
file. ++ + +
++ + Please note that there is currently no + macro/function to localize static strings + using different tables. If you need that + functionality, you have either to prepare + the localization tables by hand, or to rewrite your + code in such a way as not to use static strings. +
++ + +
+GS_RANGE_CHECK
+ GS_RANGE_CHECK(RANGE, SIZE)
++Availability: OpenStep+
++ + To be used inside a method for making sure that a range + does not specify anything outside the size of an + array/string. Raises exception if range extends + beyond [0,size]. Size must be an + unsigned integer (NSUInteger). + ++
+RECREATE_AUTORELEASE_POOL
+ RECREATE_AUTORELEASE_POOL(X)
++Availability: OpenStep+
++ + DEPRECATED... use [X release]; + X = [NSAutoreleasePool new] + ++
+RELEASE
+ RELEASE(object)
++Availability: OpenStep+
++ + Basic release operation... calls + + [NSObject -release] + + ++
Deprecated... pointless on modern processors. + Simply call the + + -release + + + method. + +
+RETAIN
+ RETAIN(object)
++Availability: OpenStep+
++ + Basic retain operation... calls + + [NSObject -retain] + + ++
Deprecated... pointless on modern processors. + Simply call the + + -retain + + + method. + +
+TEST_AUTORELEASE
+ TEST_AUTORELEASE(object)
++Availability: OpenStep+
++ + Tested autorelease - only invoke the objective-c + method if the receiver is not+nil
.
+ Deprecated... pointless on modern processors. + Simply call the + + -autorelease + + + method. + +
+TEST_RELEASE
+ TEST_RELEASE(object)
++Availability: OpenStep+
++ + Tested release - only invoke the objective-c method if + the receiver is not+nil
.
Deprecated + ... pointless on modern processors. Simply call the + + -release + + + method. + +
+TEST_RETAIN
+ TEST_RETAIN(object)
++Availability: OpenStep+
++ + Tested retain - only invoke the objective-c method if + the receiver is not+nil
.
Deprecated + ... pointless on modern processors. Simply call the + + -retain + + + method. + +
+_
+ _(X)
++Availability: OpenStep+
++ + + +++ + This function (macro) is a GNUstep extension. +
++ + +
++ +
+_(@"My string to translate")
++ + +
++ + is basically equivalent to +
++ + +
++ +
++ NSLocalizedString(@"My string to + translate", @"") +
++ + +
++ + It is useful when you need to translate an application + very quickly, as you just need to enclose all strings + inside +
+_() +
. + But please note that when you use this macro, you are + not taking advantage of comments for the translator, so + consider usingNSLocalizedString
+ instead when you need a comment. ++ + +
++ + You may define GS_LOCALISATION_BUNDLE_ID to the bundle + identifier of the bundle which is to provide the + localisation information.
+
This can be + used when compiling a single file by specifying + something like '-D + GS_LOCALISATION_BUNDLE_ID=$(FRAMEWORK_NAME)' + in your make file.
If this is not defined, the + localisation is provided by your application's + main bundle exactly like the NSLocalizedString + function. ++ + +
++ + Alternatively you may define + GS_LOCALISATION_BUNDLE to be the + bundle to be used to prvide the localisation + information. +
++ + +
+__
+ __(X)
++Availability: OpenStep+
++ + + +++ + This function (macro) is a GNUstep extension. +
++ + +
++ +
+__(@"My string to translate")
++ + +
++ + is exactly the same as +
++ + +
++ +
++ GSLocalizedStaticString(@"My + string to translate", @"") +
++ + +
++ + It is useful when you need to translate an application + very quickly. You would use it as follows for static + strings: +
++ + +
++ +
++ NSString *message = __(@"Hello there");... more + code... NSLog (_(messages)); +
++ + +
++ + But please note that when you use this macro, you are + not taking advantage of comments for the translator, so + consider using +
+GSLocalizedStaticString
instead when + you need a comment. ++ + +
+ +GSBlocks macros
++
+CALL_BLOCK
+ CALL_BLOCK(block, args,...)
++Availability: OpenStep+
++ + Calls a block. Works irrespective of whether + the compiler supports blocks. + ++
+CALL_BLOCK_NO_ARGS
+ CALL_BLOCK_NO_ARGS(block)
++Availability: OpenStep+
++ + Calls a block without arguments. + ++
+ +GSVersionMacros macros
++
+GS_API_LATEST
+ GS_API_LATEST
++Availability: OpenStep+
++ + A constant to represent a feature which is still present in + the latest version. This is the highest possible version + number.+
eg.
#if + + OS_API_VERSION + + + (GS_API_MACOSX, GS_API_LATEST)
denotes + code present from the initial MacOS-X version onwards. + +
+GS_API_MACOSX
+ GS_API_MACOSX
++Availability: OpenStep+
++ + The version number of the first MacOS-X implementation. ++
eg.
#if + + OS_API_VERSION + + + (GS_API_MACOSX, GS_API_LATEST)
denotes + code present from the initial MacOS-X version onwards. + +
+GS_API_NONE
+ GS_API_NONE
++Availability: OpenStep+
++ + A constant which is the lowest possible version number (0) + so that when used as the removal version (second argument + of the GS_API_VERSION or OS_API_VERSION macro) represents + a feature which is not present in any version.+
eg. +
#if + + OS_API_VERSION + + + (GS_API_NONE, GS_API_NONE)
denotes code + not present in OpenStep/OPENSTEP/MacOS-X + +
+GS_API_OPENSTEP
+ GS_API_OPENSTEP
++Availability: OpenStep+
++ + The version number of the first OPENSTEP implementation. ++
eg.
#if + + OS_API_VERSION + + + (GS_API_OPENSTEP, GS_API_LATEST)
+ denotes code present from the initial OPENSTEP + version onwards. + +
+GS_API_OSSPEC
+ GS_API_OSSPEC
++Availability: OpenStep+
++ + The version number of the initial OpenStep specification. ++
eg.
#if + + OS_API_VERSION + + + (GS_API_OSSPEC, GS_API_LATEST)
denotes + code present from the OpenStep specification onwards. + +
+GS_API_VERSION
+ GS_API_VERSION(ADD, REM)
++Availability: OpenStep+
++ + + +++ + Macro to check a defined GNUstep version number + (GS_GNUSTEP_V) against the supplied + arguments. Returns true if no GNUstep version is + specified, or if ADD <= version + < REM, where ADD is the + version number at which a feature guarded by the + macro was introduced and REM is the + version number at which it was removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use the predefined + constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , +
++ + +
++ + Also see + + OS_API_VERSION + + +
++ + +
++ + NB. If you are changing the API (eg adding a new + feature) you need to control the visibility io the + new header file code using
+
++ #if GS_API_VERSION(ADD,GS_API_LATEST) +
+
whereADD
is the + version number of the next minor release after the + most recent one.
As a general principle you + should not change the API with changing + subminor version numbers... as that tends to + confuse people (though Apple has sometimes done + it). ++ + +
+OS_API_VERSION
+ OS_API_VERSION(ADD, REM)
++Availability: OpenStep+
++ + + +++ + Macro to check a defined OpenStep/OPENSTEP/MacOS-X + version against the supplied arguments. Returns + true if no version is specified, or if ADD + <= version < REM, where + ADD is the version number at which a + feature guarded by the macro was introduced and + REM is the version number at which it was + removed. +
++ + +
++ + The version number arguments are six digit integers + where the first two digits are the major version + number, the second two are the minor version number + and the last two are the subminor number (all left + padded with a zero where necessary). However, for + convenience you can also use any of several + predefined constants... + + GS_API_NONE + + + , + + GS_API_LATEST + + + , + + GS_API_OSSPEC + + + , + + GS_API_OPENSTEP + + + , + + GS_API_MACOSX + + +
++ + +
++ + Also see + + GS_API_VERSION + + +
++ + +
++ + For OSX compatibility, this macro also supports the use + of Apple's symbolic constants for version numbering. + Their contants are currently four digit values (two + digits for the major version, one for the minor, and + one for the subminor). +
++ + +
++ + The Apple compatibility version macros are currently: + + MAC_OS_X_VERSION_10_0 + + + , + + MAC_OS_X_VERSION_10_1 + + + , + + MAC_OS_X_VERSION_10_2 + + + , + + MAC_OS_X_VERSION_10_3 + + + , + + MAC_OS_X_VERSION_10_4 + + + , + + MAC_OS_X_VERSION_10_5 + + + , + + MAC_OS_X_VERSION_10_6 + + + , + + MAC_OS_X_VERSION_10_7 + + + , + + MAC_OS_X_VERSION_10_8 + + + + MAC_OS_X_VERSION_10_9 + + +
++ + +
+ +GSObjCRuntime macros
++
+GS_MAX_OBJECTS_FROM_STACK
+ GS_MAX_OBJECTS_FROM_STACK
++Availability: OpenStep+
++ + The number of objects to try to get from varargs into an + array on the stack... if there are more than this, use + the heap. NB. This MUST be a multiple of 2 + ++
+GS_USEIDLIST
+ GS_USEIDLIST(firstObject, code,...)
++Availability: OpenStep+
++ + + +++ + This is a macro designed to minimise the use of memory + allocation and deallocation when you need to + work with a vararg list of objects.
+
The objects + are unpacked from the vararg list into a 'C' array and + then a code fragment you specify is able to + make use of them before that 'C' array is destroyed. ++ + +
++ + The firstObject argument is the name of the + formal parameter in your method or function which + precedes the ',...' denoting variable args. +
++ + +
++ + The code argument is a piece of objective-c + code to be executed to make use of the + objects stored in the 'C' array.
+
When this + code is called the + unsigned integer '__count' will + contain the number of objects unpacked, and the + pointer '__objects' will point to the unpacked + objects, ie. firstObject followed by + the vararg arguments up to (but not including) the + firstnil
. ++ + +
+GS_USEIDPAIRLIST
+ GS_USEIDPAIRLIST(firstObject, code,...)
++Availability: OpenStep+
++ + + +++ + This is a macro designed to minimise the use of memory + allocation and deallocation when you need to + work with a vararg list of objects.
+
The objects + are unpacked from the vararg list into two 'C' arrays + and then a code fragment you specify is able + to make use of them before that 'C' array is destroyed. ++ + +
++ + The firstObject argument is the name of the + formal parameter in your method or function which + precedes the ',...' denoting variable args. +
++ + +
++ + The code argument is a piece of objective-c + code to be executed to make use of the + objects stored in the 'C' arrays.
+
When this + code is called the + unsigned integer '__count' will + contain the number of objects unpacked, the pointer + '__objects' will point to the first object in + each pair, and the pointer '__pairs' will point to an + array containing the second halves of the pairs of + objects whose first halves are in '__objects'. +
This lets you pack a list of the form 'key, + value, key, value,...' into an array of keys and an + array of values. ++ + +
+ +NSDebug+GNUstepBase macros
++
+GSOnceFLog
+ GSOnceFLog(format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + Macro to log a message only the first time it is + encountered.+
Not entirely thread safe... + but that's not really important, it just means that it's + possible for the message to be logged more than once + if two threads call it simultaneously when it has not + already been called.
Use this from inside a + function. Pass an NSString as a format, + followed by zero or more arguments for the + format string. Example: GSOnceFLog(@"This + function is deprecated, use another"); + +
+GSOnceMLog
+ GSOnceMLog(format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + Macro to log a message only the first time it is + encountered.+
Not entirely thread safe... + but that's not really important, it just means that it's + possible for the message to be logged more than once + if two threads call it simultaneously when it has not + already been called.
Use this from inside a + method. Pass an NSString as a format + followed by zero or more arguments for the + format string.
Example: + GSOnceMLog(@"This method is deprecated, use + another"); + +
+NSDebugFLLog
+ NSDebugFLLog(level, format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro is like + + NSDebugLLog() + + + but includes the name and location of the function in + which the macro is used as part of the log output. + ++
+NSDebugFLog
+ NSDebugFLog(format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro is a shorthand for + + NSDebugFLLog() + + + using then default debug level... 'dflt' + ++
+NSDebugFRLog
+ NSDebugFRLog(object, msg)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro saves the name and location of the function + in which the macro is used, along with a + short string msg as the + tag associated with a recorded object. + ++
+NSDebugLLog
+ NSDebugLLog(level, format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + + NSDebugLLog() + + + is the basic debug logging macro used to display log + messages using + + NSLog() + + + , if debug logging was enabled at compile time and the + appropriate logging level was set at + runtime. +
++ + +
++ + Debug logging which can be enabled/disabled by + defining GSDIAGNOSE when compiling and also + setting values in the mutable set which is set up + by NSProcessInfo. GSDIAGNOSE is defined automatically + unless diagnose=no is specified in the make + arguments. +
++ + +
++ + NSProcess initialises a set of strings that are + the names of active debug levels using the + '--GNU-Debug=...' command line argument. + Each command-line argument of that form is removed + from
+NSProcessInfo
's list of arguments + and the variable part (...) is added to the set. This + means that as far as the program proper is concerned, + it is running with the same arguments as if debugging + had not been enabled. ++ + +
++ + For instance, to debug the NSBundle class, run your + program with '--GNU-Debug=NSBundle' You can of + course supply multiple '--GNU-Debug=...' arguments + to output debug information on more than one thing. +
++ + +
++ + NSUserDefaults also adds debug levels from + the array given by the GNU-Debug key... but these + values will not take effect until the + + +standardUserDefaults + + + method is called... so they are useless for + debugging NSUserDefaults itself or for debugging + any code executed before the defaults system is used. +
++ + +
++ + To embed debug logging in your code you use the + + NSDebugLLog() + + + or + + NSDebugLog() + + + macro. + + NSDebugLog() + + + is just + + NSDebugLLog() + + + with the debug level set to 'dflt'. So, to + activate debug statements that use + + NSDebugLog() + + + , you supply the '--GNU-Debug=dflt' argument to your + program. +
++ + +
++ + You can also change the active debug levels under your + programs control - NSProcessInfo has a + + [-debugSet] + + + method that returns the mutable set that contains + the active debug levels - your program can modify this + set. +
++ + +
++ + Two debug levels have a special effect - 'dflt' is the + level used for debug logs statements where + no debug level is specified, and 'NoWarn' is + used to *disable* warning messages. +
++ + +
++ + As a convenience, there are four more logging macros you + can use - + + NSDebugFLog() + + + , + + NSDebugFLLog() + + + , + + NSDebugMLog() + + + and + + NSDebugMLLog() + + + . These are the same as the other macros, but are + specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
++ + +
+NSDebugLog
+ NSDebugLog(format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro is a shorthand for + + NSDebugLLog() + + + using then default debug level... 'dflt' + ++
+NSDebugMLLog
+ NSDebugMLLog(level, format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro is like + + NSDebugLLog() + + + but includes the name and location of the method + in which the macro is used as part of the log output. + ++
+NSDebugMLog
+ NSDebugMLog(format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro is a shorthand for + + NSDebugMLLog() + + + using then default debug level... 'dflt' + ++
+NSDebugMRLog
+ NSDebugMRLog(object, msg)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro saves the name and location of the method in + which the macro is used, along with a + short string msg as the + tag associated with a recorded object. + ++
+NSWarnFLog
+ NSWarnFLog(format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro is like + + NSWarnLog() + + + but includes the name and location of the + function in which the macro is used as part of + the log output. + ++
+NSWarnLog
+ NSWarnLog(format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + + NSWarnLog() + + + is the basic debug logging macro used to display warning + messages using + + NSLog() + + + , if warn logging was not disabled at compile time and + the disabling logging level was not set at runtime. +
++ + +
++ + Warning messages which can be enabled/disabled by + defining GSWARN when compiling. +
++ + +
++ + You can also disable these messages at runtime by + supplying a '--GNU-Debug=NoWarn' argument to the + program, or by adding 'NoWarn' to the user default + array named 'GNU-Debug'. +
++ + +
++ + These logging macros are intended to be used when the + software detects something that it not necessarily + fatal or illegal, but looks like it might be a + programming error. eg. attempting to remove + 'nil' from an NSArray, which the Spec/documentation + does not prohibit, but which a well written program + should not be attempting (since an NSArray object + cannot contain a 'nil'). +
++ + +
++ + NB. The 'warn=yes' option is understood by the GNUstep + make package to mean that GSWARN should be defined, + and the 'warn=no' means that GSWARN should be + undefined. Default is to define it. +
++ + +
++ + To embed debug logging in your code you use the + + NSWarnLog() + + + macro. +
++ + +
++ + As a convenience, there are two more logging macros you + can use - + + NSWarnFLog() + + + , and + + NSWarnMLog() + + + . These are specifically for use in either functions or + methods and prepend information about the file, + line and either function or class/method in which the + message was generated. +
++ + +
+NSWarnMLog
+ NSWarnMLog(format, args,...)
++Availability: Not in OpenStep/MacOS-X+
++ + This macro is like + + NSWarnLog() + + + but includes the name and location of the method + in which the macro is used as part of the log output. + ++
+ +NSLock+GNUstepBase macros
++
+GS_INITIALIZED_LOCK
+ GS_INITIALIZED_LOCK(IDENT, CLASSNAME)
++Availability: Not in OpenStep/MacOS-X+
++ + Returns IDENT which will be initialized to + an instance of a CLASSNAME in a thread safe + manner. If IDENT has been previously + initialized this macro merely returns + IDENT. IDENT is considered + uninitialized, if it contains+nil
+ . CLASSNAME must be either NSLock, + NSRecursiveLock or one of their subclasses. + See + + [NSLock +newLockAt:] + + + for details. This macro is intended for code that cannot + insure that a lock can be initialized in thread safe + manner otherwise. + ++ NSLock *my_lock = nil; + + void function (void) + { + [GS_INITIALIZED_LOCK(my_lock, NSLock) lock]; + do_work (); + [my_lock unlock]; + } + ++ + +
+ +GSBlocks functions
++
+_Block_copy
+ void* _Block_copy(void* );
++Availability: OpenStep+
++ + _Block_copy and _Block_release are weakly + imported, but can be assumed to be available + whenever a feature using blocks is accessed by an + application. + ++
+_Block_release
+ void _Block_release(void* );
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ +GSVersionMacros functions
++
+gs_consumed
+ void gs_consumed(id o);
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ +GSObjCRuntime functions
++
+GSAutoreleasedBuffer
+ void* GSAutoreleasedBuffer(unsigned int size);
++Availability: OpenStep+
++ + Quickly return autoreleased data storage area. + ++
+GSCGetInstanceVariableDefinition
+ GSIVar GSCGetInstanceVariableDefinition(Class cls, const char* name);
++Availability: OpenStep+
++ + Deprecated.. use + + class_getInstanceVariable() + + + ++
+GSClassFromName
+ Class GSClassFromName(const char* name);
++Availability: OpenStep+
++ + + GSClassFromName() + + + is deprecated... use + + objc_lookUpClass() + + + ++
+GSClassList
+ unsigned int GSClassList(Class* buffer, unsigned int max, BOOL clearCache);
++Availability: OpenStep+
++ + Deprecated... use + + objc_getClassList() + + + ++
+GSClassNameFromObject
+ const char* GSClassNameFromObject(id obj);
++Availability: OpenStep+
++ + + GSClassNameFromObject() + + + is deprecated... use + + object_getClass() + + + in conjunction with + + class_getName() + + + ++
+GSClassSwizzle
+ void GSClassSwizzle(id instance, Class newClass);
++Availability: OpenStep+
++ + Function to change the class of the specified + instance to newClass. This + handles memory debugging issues in GNUstep-base and + also deals with class finalisation issues in a garbage + collecting environment, so you should use this + function rather than attempting to swizzle class + pointers directly. + ++
+GSFlushMethodCacheForClass
+ void GSFlushMethodCacheForClass(Class cls);
++Availability: OpenStep+
++ + Deprecated.. does nothing. + ++
+GSGetMethod
+ GSMethod GSGetMethod(Class cls, SEL sel, BOOL searchInstanceMethods, BOOL searchSuperClasses);
++Availability: OpenStep+
++ + Returns the pointer to the method structure for the + selector in the specified class. Depending on + searchInstanceMethods, this function + searches either instance or class methods. Depending + on searchSuperClassesm this function searches either the + specified class only or also its superclasses. ++
To obtain the implementation pointer IMP use + returnValue->method_imp which should + be safe across all runtimes.
It should be safe to + use this function in + + +load + + + implementations.
This function should + currently (June 2004) be considered WIP. Please + follow potential changes (Name, parameters,...) + closely until it stabilizes. + +
+GSLastErrorStr
+ const char* GSLastErrorStr(long int error_id);
++Availability: BaseAdditions+
+ Likely to be changed/moved/removed at 1.15.0
++ + Description forthcoming. + ++
+GSNameFromClass
+ const char* GSNameFromClass(Class cls);
++Availability: OpenStep+
++ + + GSNameFromClass() + + + is deprecated... use + + class_getName() + + + ++
+GSNameFromSelector
+ const char* GSNameFromSelector(SEL sel);
++Availability: OpenStep+
++ + + GSNameFromSelector() + + + is deprecated... use + + sel_getName() + + + ++
+GSObjCAddClassBehavior
+ void GSObjCAddClassBehavior(Class receiver, Class behavior);
++Availability: OpenStep+
++ + + +++ + A Behavior can be seen as a "Protocol with an + implementation" or a "Class without any + instance variables". A key feature of behaviors is + that they give a degree of multiple inheritance. +
++ + +
++ + Behavior methods, when added to a class, override + the class's superclass methods, but not the class's + methods. +
++ + +
++ + Whan a behavior class is added to a + receiver class, not only are the methods + defined in the behavior class added, but + the methods from the behavior's class hierarchy are + also added (unless already present). +
++ + +
++ + It's not the case that a class adding behaviors from + another class must have "no instance vars". The + receiver class just has to have the same + layout as the behavior class (optionally + with some additional ivars after those of the + behavior class). +
++ + +
++ + This function provides Behaviors without adding any + new syntax to the Objective C language. Simply define a + class with the methods you want to add, then call + this function with that class as the + behavior argument. +
++ + +
++ + This function should be called in the + + +initialize + + + method of the receiver. +
++ + +
++ + If you add several behaviors to a class, be aware that + the order of the additions is significant. +
++ + +
+GSObjCAddClassOverride
+ void GSObjCAddClassOverride(Class receiver, Class override);
++Availability: OpenStep+
++ + + +++ + An Override can be seen as a "category implemented as a + separate class and manually added to the + receiver class under program control, + rather than automatically added by the + compiler/runtime. +
++ + +
++ + Override methods, when added to a + receiver class, replace the class's + class's methods of the same name (or are added if + the class did not define methods with that name). +
++ + +
++ + It's not the case that a class adding overrides from + another class must have "no instance vars". The + receiver class just has to have the same + layout as the override class (optionally + with some additional ivars after those of the + override class). +
++ + +
++ + This function provides overrides without adding any + new syntax to the Objective C language. Simply define a + class with the methods you want to add, then call + this function with that class as the + override argument. +
++ + +
++ + This function should usually be called in the + + +initialize + + + method of the receiver. +
++ + +
++ + If you add several overrides to a class, be aware that + the order of the additions is significant. +
++ + +
+GSObjCAddClasses
+ void GSObjCAddClasses(NSArray* classes);
++Availability: OpenStep+
++ + The classes argument is an array of NSValue + objects containing pointers to classes + previously created by the + + GSObjCMakeClass() + + + function. + ++
+GSObjCAddMethods
+ void GSObjCAddMethods(Class cls, Method* list, BOOL replace);
++Availability: OpenStep+
++ + Given a NULL terminated list of methods, add + them to the class.+
If the method already exists + in a superclass, the new version overrides that one, but + if the method already exists in the class itsself, the new + one is quietly ignored (replace==NO) or replaced with the + new version (if replace==YES).
To add class + methods, cls should be the metaclass of + the class to which the methods are being added. + +
+GSObjCAllSubclassesOfClass
+ NSArray* GSObjCAllSubclassesOfClass(Class cls);
++Availability: OpenStep+
++ + Returns an autoreleased array of subclasses of + Class cls, including + subclasses of subclasses. + ++
+GSObjCBehaviorDebug
+ BOOL GSObjCBehaviorDebug(int setget);
++Availability: OpenStep+
++ + Turn on (+YES
), off (NO
) or + test (-1) behavior debugging. + +
+GSObjCClass
+ Class GSObjCClass(id obj);
++Availability: OpenStep+
++ + + GSObjCClass() + + + is deprecated... use + + object_getClass() + + + ++
+GSObjCDirectSubclassesOfClass
+ NSArray* GSObjCDirectSubclassesOfClass(Class cls);
++Availability: OpenStep+
++ + Returns an autoreleased array containing subclasses + directly descendent of Class + cls. + ++
+GSObjCFindVariable
+ BOOL GSObjCFindVariable(id obj, const char* name, const char** type, unsigned int* size, int* offset);
++Availability: OpenStep+
++ + This function is used to locate information about the + instance variable of obj called + name. It returns+YES
if the + variable was found,NO
otherwise. If it + returnsYES
, then the values pointed to + by type, size, and offset + will be set (except where they are null pointers). + +
+GSObjCGetInstanceVariableDefinition
+ GSIVar GSObjCGetInstanceVariableDefinition(Class cls, NSString* name);
++Availability: OpenStep+
++ + Deprecated.. use + + class_getInstanceVariable() + + + ++
+GSObjCGetVal
+ id GSObjCGetVal(NSObject* self, const char* key, SEL sel, const char* type, unsigned int size, int offset);
++Availability: OpenStep+
++ + This is used internally by the key-value coding methods, + to get a value from an object either via an accessor + method (if sel is supplied), or via direct + access (if type, size, and + offset are supplied).+
Automatic + conversion between NSNumber and C scalar types is + performed.
If type is null and + can't be determined from the selector, the + [NSObject -handleQueryWithUnboundKey:] + method is called to try to get a value. + +
+GSObjCGetVariable
+ void GSObjCGetVariable(id obj, int offset, unsigned int size, void* data);
++Availability: OpenStep+
++ + Gets the value from an instance variable in + obj+
This function performs no + checking... you should use it only where you are + providing information from a call to + + GSObjCFindVariable() + + + and you know that the data area provided is + the correct size. + +
+GSObjCIsClass
+ BOOL GSObjCIsClass(Class cls);
++Availability: OpenStep+
++ + + GSObjCIsClass() + + + is deprecated... use + + object_getClass() + + + in conjunction with + + class_isMetaClass() + + + ++
+GSObjCIsInstance
+ BOOL GSObjCIsInstance(id obj);
++Availability: OpenStep+
++ + + GSObjCIsInstance() + + + is deprecated... use + + object_getClass() + + + in conjunction with + + class_isMetaClass() + + + ++
+GSObjCIsKindOf
+ BOOL GSObjCIsKindOf(Class cls, Class other);
++Availability: OpenStep+
++ + Test to see if class inherits from another class The + argument to this function must NOT be ++nil
. + +
+GSObjCMakeClass
+ NSValue* GSObjCMakeClass(NSString* name, NSString* superName, NSDictionary* iVars);
++Availability: OpenStep+
++ + references: + http://www.macdevcenter.com/pub/a/mac/2002/05/31/runtime_parttwo.html?page=1 http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/9objc_runtime_reference/chapter_5_section_1.html http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/9objc_runtime_reference/chapter_5_section_21.html ObjcRuntimeUtilities.m by Nicola Pero+
+ + ++ + Create a Class structure for use by + the ObjectiveC runtime and return an NSValue object + pointing to it. The class will not be added to the + runtime (you must do that later using the + + GSObjCAddClasses() + + + function). +
++ + +
++ + The iVars dictionary lists the instance + variable names and their types. +
++ + +
+GSObjCMethodNames
+ NSArray* GSObjCMethodNames(id obj, BOOL recurse);
++Availability: OpenStep+
++ + This method returns an array listing the names of all + the instance methods available to obj, whether + they belong to the class of obj or one of its + superclasses.+
If obj is a + class, this returns the class methods.
Returns +nil
if obj isnil
+ . + +
+GSObjCSetVal
+ void GSObjCSetVal(NSObject* self, const char* key, id val, SEL sel, const char* type, unsigned int size, int offset);
++Availability: OpenStep+
++ + This is used internally by the key-value coding methods, + to set a value in an object either via an accessor method + (if sel is supplied), or via direct access (if + type, size, and offset + are supplied).+
Automatic conversion between + NSNumber and C scalar types is performed.
If + type is null and can't be determined from + the selector, the + [NSObject -handleTakeValue:forUnboundKey:] + method is called to try to set a value. + +
+GSObjCSetVariable
+ void GSObjCSetVariable(id obj, int offset, unsigned int size, const void* data);
++Availability: OpenStep+
++ + Sets the value in an instance variable in obj ++
This function performs no checking... you + should use it only where you are providing information + from a call to + + GSObjCFindVariable() + + + and you know that the data area provided is + the correct size. + +
+GSObjCSuper
+ Class GSObjCSuper(Class cls);
++Availability: OpenStep+
++ + + GSObjCSuper() + + + is deprecated... use + + class_getSuperclass() + + + ++
+GSObjCVariableNames
+ NSArray* GSObjCVariableNames(id obj, BOOL recurse);
++Availability: OpenStep+
++ + This method returns an array listing the names of all + the instance variables present in the instance + obj, whether they belong to the class of + obj or one of its superclasses.+
+ Returnsnil
if obj is +nil
. + +
+GSObjCVersion
+ int GSObjCVersion(Class cls);
++Availability: OpenStep+
++ + + GSObjCVersion() + + + is deprecated... use + + class_getVersion() + + + ++
+GSPrintf
+ BOOL GSPrintf(FILE* fptr, NSString* format,...);
++Availability: OpenStep+
++ + + +++ + Prints a message to fptr using the + format string provided and any additional + arguments. The format string is + interpreted as by the NSString formatted + initialisers, and understands the '%@' syntax + for printing an object. +
++ + +
++ + The data is written to the file pointer in the default + CString encoding if possible, as a UTF8 string + otherwise. +
++ + +
++ + This function is recommended for printing general log + messages. For debug messages use + + NSDebugLog() + + + and friends. For error logging use + + NSLog() + + + , and for warnings you might consider + + NSWarnLog() + + + . +
++ + +
+GSProtocolFromName
+ Protocol* GSProtocolFromName(const char* name);
++Availability: OpenStep+
++ + Returns a protocol object with the corresponding + name. This function searches the registered + classes for any protocol with the supplied + name. If one is found, it is cached in for + future requests. If efficiency is a factor then use + + GSRegisterProtocol() + + + to insert a protocol explicitly into the cache used by + this function. If no protocol is found this function + returns+nil
. + +
+GSProtocolGetMethodDescriptionRecursive
+ struct objc_method_description GSProtocolGetMethodDescriptionRecursive(Protocol* aProtocol, SEL aSel, BOOL isRequired, BOOL isInstance);
++Availability: OpenStep+
++ + A variant of protocol_getMethodDescription which + recursively searches parent protocols if the + requested selector isn't found in the given + protocol. Returns a {NULL, NULL} structure if the + requested selector couldn't be found. + ++
+GSRegisterProtocol
+ void GSRegisterProtocol(Protocol* proto);
++Availability: OpenStep+
++ + Registers proto in the cache used by + + GSProtocolFromName() + + + . + ++
+GSSelectorFromName
+ SEL GSSelectorFromName(const char* name);
++Availability: OpenStep+
++ + + GSSelectorFromName() + + + is deprecated... use + + sel_getUid() + + + ++
+GSSelectorFromNameAndTypes
+ SEL GSSelectorFromNameAndTypes(const char* name, const char* types);
++Availability: OpenStep+
++ + Return the selector for the specified name + and types.+
Returns a nul pointer if the + name is nul.
Creates a new selector + if necessary.
Code must NOT rely on this providing + a selector with type information. + +
+GSSelectorTypesMatch
+ BOOL GSSelectorTypesMatch(const char* types1, const char* types2);
++Availability: OpenStep+
++ + Compare only the type information ignoring + qualifiers, the frame layout and register + markers. Unlike sel_types_match, this function also + handles comparisons of types with and without any + layout information. + ++
+GSSkipTypeQualifierAndLayoutInfo
+ const char* GSSkipTypeQualifierAndLayoutInfo(const char* types);
++Availability: OpenStep+
++ + Takes full type information and skips forward to the + actual type as specified in the _C_... constants. + ++
+GSTypesFromSelector
+ const char* GSTypesFromSelector(SEL sel);
++Availability: OpenStep+
++ + Return the type information from the specified + selector.+
May return a nul pointer if the + selector was a nul pointer or if it was not typed + (or if the runtime does not support typed selectors). +
Code must NOT rely on this providing any type + information. + +
+ +GSIArray functions
++
+GSIArrayAddItem
+ void GSIArrayAddItem(GSIArray array, GSIArrayItem item);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayAddItemNoRetain
+ void GSIArrayAddItemNoRetain(GSIArray array, GSIArrayItem item);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayCapacity
+ unsigned int GSIArrayCapacity(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayCheckSort
+ void GSIArrayCheckSort(GSIArray array, NSComparisonResult(*) sorter);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayClear
+ void GSIArrayClear(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayCopyWithZone
+ GSIArray GSIArrayCopyWithZone(GSIArray array, NSZone* zone);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayCount
+ unsigned int GSIArrayCount(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayEmpty
+ void GSIArrayEmpty(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayGrow
+ void GSIArrayGrow(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayGrowTo
+ void GSIArrayGrowTo(GSIArray array, unsigned int next);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayInitWithZoneAndCapacity
+ GSIArray GSIArrayInitWithZoneAndCapacity(GSIArray array, NSZone* zone, size_t capacity);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayInitWithZoneAndStaticCapacity
+ GSIArray GSIArrayInitWithZoneAndStaticCapacity(GSIArray array, NSZone* zone, size_t capacity, GSIArrayItem* buffer);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayInsertItem
+ void GSIArrayInsertItem(GSIArray array, GSIArrayItem item, unsigned int index);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayInsertItemNoRetain
+ void GSIArrayInsertItemNoRetain(GSIArray array, GSIArrayItem item, unsigned int index);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayInsertSorted
+ void GSIArrayInsertSorted(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayInsertSortedNoRetain
+ void GSIArrayInsertSortedNoRetain(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayInsertionPosition
+ unsigned int GSIArrayInsertionPosition(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayItemAtIndex
+ GSIArrayItem GSIArrayItemAtIndex(GSIArray array, unsigned int index);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayItems
+ GSIArrayItem* GSIArrayItems(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayLastItem
+ GSIArrayItem GSIArrayLastItem(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayRemoveAllItems
+ void GSIArrayRemoveAllItems(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayRemoveItemAtIndex
+ void GSIArrayRemoveItemAtIndex(GSIArray array, unsigned int index);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayRemoveItemAtIndexNoRelease
+ void GSIArrayRemoveItemAtIndexNoRelease(GSIArray array, unsigned int index);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayRemoveItemsFromIndex
+ void GSIArrayRemoveItemsFromIndex(GSIArray array, unsigned int index);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArrayRemoveLastItem
+ void GSIArrayRemoveLastItem(GSIArray array);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArraySearch
+ unsigned int GSIArraySearch(GSIArray array, GSIArrayItem item, NSComparisonResult(*) sorter);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArraySetItemAtIndex
+ void GSIArraySetItemAtIndex(GSIArray array, GSIArrayItem item, unsigned int index);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +GSIMap functions
++
+GSIMapAddKey
+ GSIMapNode GSIMapAddKey(GSIMapTable map, GSIMapKey key);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapAddKeyNoRetain
+ GSIMapNode GSIMapAddKeyNoRetain(GSIMapTable map, GSIMapKey key);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapAddNodeToBucket
+ void GSIMapAddNodeToBucket(GSIMapBucket bucket, GSIMapNode node);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapAddNodeToMap
+ void GSIMapAddNodeToMap(GSIMapTable map, GSIMapNode node);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapAddPair
+ GSIMapNode GSIMapAddPair(GSIMapTable map, GSIMapKey key, GSIMapVal value);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapAddPairNoRetain
+ GSIMapNode GSIMapAddPairNoRetain(GSIMapTable map, GSIMapKey key, GSIMapVal value);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapBucketForKey
+ GSIMapBucket GSIMapBucketForKey(GSIMapTable map, GSIMapKey key);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapCleanMap
+ void GSIMapCleanMap(GSIMapTable map);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapCountByEnumeratingWithStateObjectsCount
+ NSUInteger GSIMapCountByEnumeratingWithStateObjectsCount(GSIMapTable map, NSFastEnumerationState* state, id* stackbuf, NSUInteger len);
++Availability: Not in OpenStep/MacOS-X+
++ + Used to implement fast enumeration methods in classes + that use GSIMap for their data storage. + ++
+GSIMapEmptyMap
+ void GSIMapEmptyMap(GSIMapTable map);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapEndEnumerator
+ void GSIMapEndEnumerator(GSIMapEnumerator enumerator);
++Availability: Not in OpenStep/MacOS-X+
++ + Tidies up after map enumeration... effectively + destroys the enumerator. + ++
+GSIMapEnumeratorBucket
+ GSIMapBucket GSIMapEnumeratorBucket(GSIMapEnumerator enumerator);
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the bucket from which the next node in the + enumeration will come. Once the next node has + been enumerated, you can use the bucket and node to + remove the node from the map using the + + GSIMapRemoveNodeFromMap() + + + function. + ++
+GSIMapEnumeratorForMap
+ GSIMapEnumerator_t GSIMapEnumeratorForMap(GSIMapTable map);
++Availability: Not in OpenStep/MacOS-X+
++ + Enumerating+
Create an return an enumerator + for the specified map.
You must call + + GSIMapEndEnumerator() + + + when you have finished with the enumerator.
+ WARNING You should not alter a + map while an enumeration is in progress. The + results of doing so are reasonably unpredictable. +
Remember, DON'T MESS WITH A MAP WHILE YOU'RE + ENUMERATING IT. + +
+GSIMapEnumeratorNextNode
+ GSIMapNode GSIMapEnumeratorNextNode(GSIMapEnumerator enumerator);
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the next node in the map, or a nul pointer if + at the end. + ++
+GSIMapFirstNode
+ GSIMapNode GSIMapFirstNode(GSIMapTable map);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapFreeNode
+ void GSIMapFreeNode(GSIMapTable map, GSIMapNode node);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapInitWithZoneAndCapacity
+ void GSIMapInitWithZoneAndCapacity(GSIMapTable map, NSZone* zone, uintptr_t capacity);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapLinkNodeIntoBucket
+ void GSIMapLinkNodeIntoBucket(GSIMapBucket bucket, GSIMapNode node);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapMoreNodes
+ void GSIMapMoreNodes(GSIMapTable map, unsigned int required);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapNodeForKey
+ GSIMapNode GSIMapNodeForKey(GSIMapTable map, GSIMapKey key);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapNodeForKeyInBucket
+ GSIMapNode GSIMapNodeForKeyInBucket(GSIMapTable map, GSIMapBucket bucket, GSIMapKey key);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapNodeForSimpleKey
+ GSIMapNode GSIMapNodeForSimpleKey(GSIMapTable map, GSIMapKey key);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapPickBucket
+ GSIMapBucket GSIMapPickBucket(unsigned int hash, GSIMapBucket buckets, uintptr_t bucketCount);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapRemangleBuckets
+ void GSIMapRemangleBuckets(GSIMapTable map, GSIMapBucket old_buckets, uintptr_t old_bucketCount, GSIMapBucket new_buckets, uintptr_t new_bucketCount);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapRemoveAndFreeNode
+ GSIMapNode GSIMapRemoveAndFreeNode(GSIMapTable map, uintptr_t bkt, GSIMapNode node);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapRemoveKey
+ BOOL GSIMapRemoveKey(GSIMapTable map, GSIMapKey key);
++Availability: Not in OpenStep/MacOS-X+
++ + Removes the item for the specified key + from the map. If the key was + present, returns+YES
, otherwise returns +NO
. + +
+GSIMapRemoveNodeFromBucket
+ void GSIMapRemoveNodeFromBucket(GSIMapBucket bucket, GSIMapNode node);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapRemoveNodeFromMap
+ void GSIMapRemoveNodeFromMap(GSIMapTable map, GSIMapBucket bkt, GSIMapNode node);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapRemoveWeak
+ void GSIMapRemoveWeak(GSIMapTable map);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapResize
+ void GSIMapResize(GSIMapTable map, uintptr_t new_capacity);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapRightSizeMap
+ void GSIMapRightSizeMap(GSIMapTable map, uintptr_t capacity);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapSize
+ NSUInteger GSIMapSize(GSIMapTable map);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapUnlinkNodeFromBucket
+ void GSIMapUnlinkNodeFromBucket(GSIMapBucket bucket, GSIMapNode node);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +GSFunctions functions
++
+GSFindNamedFile
+ NSString* GSFindNamedFile(NSArray* paths, NSString* aName, NSString* anExtension);
++Availability: BaseAdditions+
+ Likely to be changed/moved/removed at 1.15.0
++ + Try to locate file/directory (aName).( + anExtension (aName).(anExtension) + in paths. Will return the first found or ++nil
if nothing is found.
+ Deprecated... may be removed in later release. + +
+ +GSLocale functions
++
+GSDefaultLanguageLocale
+ NSString* GSDefaultLanguageLocale();
++Availability: OpenStep+
++ + Returns the locale string for LC_MESSAGES + ++
+GSDomainFromDefaultLocale
+ NSDictionary* GSDomainFromDefaultLocale();
++Availability: OpenStep+
++ + Set the current locale to the system default, and backup + what it was previously (should have been @"C").+
+ Restore the current locale to what we backed up + (again, should be restored to @"C") + +
+GSLanguageFromLocale
+ NSString* GSLanguageFromLocale(NSString* locale);
++Availability: OpenStep+
++ + Returns a language name string for a given + locale. e.g. GSLanguageFromLocale(@"en_CA") + returns @"CanadaEnglish" + ++
+GSLanguagesFromLocale
+ NSArray* GSLanguagesFromLocale(NSString* locale);
++Availability: OpenStep+
++ + Convenience function which calls GSLocaleVariants + to expand the given locale to a list of + variants, and then calls GSLanguageFromLocale on + each. e.g. GSLanguagesFromLocale(@"en_CA") returns + (@"CanadaEnglish", @"English") + ++
+GSLocaleVariants
+ NSArray* GSLocaleVariants(NSString* locale);
++Availability: OpenStep+
++ + Return an array of variants of a locale, + formed by stripping off parts of the identifier, + ordered from most similar to least similar. e.g. + GSLocaleVariants(@"en_CA") returns + (@"en_CA", @"en"). + ++
+GSSetLocale
+ NSString* GSSetLocale(int category, NSString* locale);
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSSetLocaleC
+ const char* GSSetLocaleC(int category, const char* loc);
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ +NSDebug+GNUstepBase functions
++
+GSDebugFunctionMsg
+ NSString* GSDebugFunctionMsg(const char* func, const char* file, int line, NSString* fmt);
++Availability: Not in OpenStep/MacOS-X+
++ + Used to produce a format string for logging a message + with function location details. + ++
+GSDebugMethodMsg
+ NSString* GSDebugMethodMsg(id obj, SEL sel, const char* file, int line, NSString* fmt);
++Availability: Not in OpenStep/MacOS-X+
++ + Used to produce a format string for logging a message + with method location details. + ++
+GSDebugSet
+ BOOL GSDebugSet(NSString* level);
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +NSThread+GNUstepBase functions
++
+GSCurrentThread
+ NSThread* GSCurrentThread();
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSCurrentThreadDictionary
+ NSMutableDictionary* GSCurrentThreadDictionary();
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +Unicode functions
++
+GSEncodingForRegistry
+ NSStringEncoding GSEncodingForRegistry(NSString* registry, NSString* encoding);
++Availability: Not in OpenStep/MacOS-X, BaseAdditions Likely to be changed/moved/removed at 1.15.0+
++ + Returns the NSStringEncoding that matches the + specified character set registry and + encoding information. For instance, for the + iso8859-5 character set, the registry is + iso8859 and the encoding is 5, and the + returned NSStringEncoding is + NSISOCyrillicStringEncoding. If + there is no specific encoding, use @"0". + Returns GSUndefinedEncoding if there is no match. + ++
+GSEncodingFromLocale
+ NSStringEncoding GSEncodingFromLocale(const char* clocale);
++Availability: Not in OpenStep/MacOS-X, BaseAdditions Likely to be changed/moved/removed at 1.15.0+
++ + Try to deduce the string encoding from the locale string + clocale. This function looks in the + Locale.encodings file installed as part of + GNUstep Base if the encoding cannot be deduced from + the clocale string itself. If + clocale isn't set or no match can be found, + returns GSUndefinedEncoding. + ++
+GSFromUnicode
+ BOOL GSFromUnicode(unsigned char** dst, unsigned int* size, const unichar* src, unsigned int slen, NSStringEncoding enc, NSZone* zone, unsigned int options);
++Availability: Not in OpenStep/MacOS-X+
++ + Function to convert from 16-bit unicode to 8-bit + data. + + +++ + The dst argument is a pointer to a pointer + to a buffer in which the converted data is to be stored. + If it is a null pointer, this function discards + converted data, and is used only to determine the + length of the converted data. If the zone + argument is non-nul, the function is free to + allocate a larger buffer if necessary, and store + this new buffer in the dst argument. It + will *NOT* deallocate the original buffer! +
++ + +
++ + The size argument is a pointer to the + initial size of the destination buffer. + If the function changes the buffer size, this + value will be altered to the new size. + This is measured in bytes. +
++ + +
++ + The src argument is a pointer to the 16-bit + unicode string which is to be converted to 8-bit + data. +
++ + +
++ + The slen argument is the length of the + 16-bit unicode string which is to be converted to + 8-bit data. This is measured in 16-bit characters, + not bytes. +
++ + +
++ + The enc argument specifies the encoding type + of the 8-bit byte sequence which is to be produced from + the 16-bit unicode. +
++ + +
++ + The zone argument specifies a memory + zone in which the function may allocate a + buffer to return data in. If this is nul, the + function will fail if the originally supplied + buffer is not big enough (unless dst is a + null pointer... indicating that converted data is to + be discarded).
+
If the library is built for + garbage collecting, the zone argument is + used only as a marker to say whether the function may + allocate memory (zone is non-null) or + not (zone is null). ++ + The options argument controls some special + behavior. + +
+
+ + + +- + + If GSUniStrict is set, the function will fail if a + character is encountered in the source which + can't be converted. Otherwise, some approximation + or marker will be placed in the destination. + +
+- + + If GSUniTerminate is set, the function is expected to + nul terminate the output data, and will assume that + it is safe to place the nul just beyond the end of the + stated buffer size. Also, if the + function grows the buffer, it will allow for an + extra termination byte. + +
+- + + If GSUniTemporary is set, the function will return the + results in an autoreleased buffer rather than in + a buffer that the caller must release. + +
+- + + If GSUniBOM is set, the function will read the first + unicode character as a byte order marker. + +
+- + + If GSUniShortOk is set, the function will return a + buffer containing any decoded characters even if + the whole conversion fails. + +
++ + On return, the function result is a flag indicating + success (
+YES
) or failure ( +NO
), and on success, the value stored + in size is the number of bytes in the + converted data. The converted data itself is + stored in the location given by dst. +
NB. If the value stored in dst has + been changed, it is a pointer to allocated memory + which the caller is responsible for freeing, and the + caller is still responsible for freeing the + original buffer. ++ + +
+GSToUnicode
+ BOOL GSToUnicode(unichar** dst, unsigned int* size, const unsigned char* src, unsigned int slen, NSStringEncoding enc, NSZone* zone, unsigned int options);
++Availability: Not in OpenStep/MacOS-X+
++ + Function to convert from 8-bit data to 16-bit + unicode characters. + + +++ + The dst argument is a pointer to a pointer + to a buffer in which the converted string is to be + stored. If it is a null pointer, this function + discards converted data, and is used only to + determine the length of the converted string. If + the zone argument is non-nul, the function + is free to allocate a larger buffer if necessary, and + store this new buffer in the dst argument. + It will *NOT* deallocate the original buffer! +
++ + +
++ + The size argument is a pointer to the + initial size of the destination buffer. + If the function changes the buffer size, this + value will be altered to the new size. + This is measured in 16-bit unicode characters, not + bytes. +
++ + +
++ + The src argument is a pointer to the byte + sequence which is to be converted to 16-bit + unicode. +
++ + +
++ + The slen argument is the length of the byte + sequence which is to be converted to 16-bit + unicode. This is measured in bytes. +
++ + +
++ + The enc argument specifies the encoding type + of the 8-bit byte sequence which is to be converted to + 16-bit unicode. +
++ + +
++ + The zone argument specifies a memory + zone in which the function may allocate a + buffer to return data in. If this is nul, the + function will fail if the originally supplied + buffer is not big enough (unless dst is a + null pointer... indicating that converted data is to + be discarded).
+
If the library is built for + garbage collecting, the zone argument is + used only as a marker to say whether the function may + allocate memory (zone is non-null) or + not (zone is null). ++ + The options argument controls some special + behavior. + +
+
+ + + +- + + If GSUniTerminate is set, the function is expected to + null terminate the output string, and will assume + that it is safe to place the nul just beyond the end + of the stated buffer size. Also, if the + function grows the buffer, it will allow for an + extra termination character. + +
+- + + If GSUniTemporary is set, the function will return the + results in an autoreleased buffer rather than in + a buffer that the caller must release. + +
+- + + If GSUniBOM is set, the function will write the first + unicode character as a byte order marker. + +
+- + + If GSUniShortOk is set, the function will return a + buffer containing any decoded characters even if + the whole conversion fails. + +
++ + On return, the function result is a flag indicating + success (
+YES
) or failure ( +NO
), and on success, the value stored + in size is the number of characters in the + converted string. The converted string itself is + stored in the location given by dst. +
NB. If the value stored in dst has + been changed, it is a pointer to allocated memory + which the caller is responsible for freeing, and the + caller is still responsible for freeing the + original buffer. ++ + +
+GSUnicode
+ unsigned int GSUnicode(const unichar* chars, unsigned int length, BOOL* isASCII, BOOL* isLatin1);
++Availability: Not in OpenStep/MacOS-X, BaseAdditions Likely to be changed/moved/removed at 1.15.0+
++ + Function to check a block of data for validity as a + unicode string and say whether it contains solely + ASCII or solely Latin1 data.+
Any leading BOM + must already have been removed and the data must already + be in native byte order.
Returns the number of + characters which were found valid. + +
+uni_cop
+ unsigned char uni_cop(unichar u);
++Availability: Not in OpenStep/MacOS-X, BaseAdditions Likely to be changed/moved/removed at 1.15.0+
++ + Description forthcoming. + ++
+uni_is_decomp
+ unichar* uni_is_decomp(unichar u);
++Availability: Not in OpenStep/MacOS-X, BaseAdditions Likely to be changed/moved/removed at 1.15.0+
++ + Description forthcoming. + ++
+uni_isnonsp
+ BOOL uni_isnonsp(unichar u);
++Availability: Not in OpenStep/MacOS-X, BaseAdditions Likely to be changed/moved/removed at 1.15.0+
++ + Description forthcoming. + ++
+uni_tolower
+ unichar uni_tolower(unichar ch);
++Availability: Not in OpenStep/MacOS-X, BaseAdditions Likely to be changed/moved/removed at 1.15.0+
++ + Uses direct access into a two-level table to map cases. ++
The two-level table method is less space + efficient (but still not bad) than a single table + and a linear search, but it reduces the number of + conditional statements to just one. + +
+uni_toupper
+ unichar uni_toupper(unichar ch);
++Availability: Not in OpenStep/MacOS-X, BaseAdditions Likely to be changed/moved/removed at 1.15.0+
++ + Uses direct access into a two-level table to map cases. ++
The two-level table method is less space + efficient (but still not bad) than a single table + and a linear search, but it reduces the number of + conditional statements to just one. + +
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/FunctionsTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/FunctionsTOC.html new file mode 100644 index 0000000..52351dc --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/FunctionsTOC.html @@ -0,0 +1,146 @@ + + + + +Functions + + + +Functions
+ + + + GSAutoreleasedBuffer
+ GSCGetInstanceVariableDefinition
+ GSClassFromName
+ GSClassList
+ GSClassNameFromObject
+ GSClassSwizzle
+ GSCurrentThread
+ GSCurrentThreadDictionary
+ GSDebugFunctionMsg
+ GSDebugMethodMsg
+ GSDebugSet
+ GSDefaultLanguageLocale
+ GSDomainFromDefaultLocale
+ GSEncodingForRegistry
+ GSEncodingFromLocale
+ GSFindNamedFile
+ GSFlushMethodCacheForClass
+ GSFromUnicode
+ GSGetMethod
+ GSIArrayAddItem
+ GSIArrayAddItemNoRetain
+ GSIArrayCapacity
+ GSIArrayCheckSort
+ GSIArrayClear
+ GSIArrayCopyWithZone
+ GSIArrayCount
+ GSIArrayEmpty
+ GSIArrayGrow
+ GSIArrayGrowTo
+ GSIArrayInitWithZoneAndCapacity
+ GSIArrayInitWithZoneAndStaticCapacity
+ GSIArrayInsertItem
+ GSIArrayInsertItemNoRetain
+ GSIArrayInsertSorted
+ GSIArrayInsertSortedNoRetain
+ GSIArrayInsertionPosition
+ GSIArrayItemAtIndex
+ GSIArrayItems
+ GSIArrayLastItem
+ GSIArrayRemoveAllItems
+ GSIArrayRemoveItemAtIndex
+ GSIArrayRemoveItemAtIndexNoRelease
+ GSIArrayRemoveItemsFromIndex
+ GSIArrayRemoveLastItem
+ GSIArraySearch
+ GSIArraySetItemAtIndex
+ GSIMapAddKey
+ GSIMapAddKeyNoRetain
+ GSIMapAddNodeToBucket
+ GSIMapAddNodeToMap
+ GSIMapAddPair
+ GSIMapAddPairNoRetain
+ GSIMapBucketForKey
+ GSIMapCleanMap
+ GSIMapCountByEnumeratingWithStateObjectsCount
+ GSIMapEmptyMap
+ GSIMapEndEnumerator
+ GSIMapEnumeratorBucket
+ GSIMapEnumeratorForMap
+ GSIMapEnumeratorNextNode
+ GSIMapFirstNode
+ GSIMapFreeNode
+ GSIMapInitWithZoneAndCapacity
+ GSIMapLinkNodeIntoBucket
+ GSIMapMoreNodes
+ GSIMapNodeForKey
+ GSIMapNodeForKeyInBucket
+ GSIMapNodeForSimpleKey
+ GSIMapPickBucket
+ GSIMapRemangleBuckets
+ GSIMapRemoveAndFreeNode
+ GSIMapRemoveKey
+ GSIMapRemoveNodeFromBucket
+ GSIMapRemoveNodeFromMap
+ GSIMapRemoveWeak
+ GSIMapResize
+ GSIMapRightSizeMap
+ GSIMapSize
+ GSIMapUnlinkNodeFromBucket
+ GSLanguageFromLocale
+ GSLanguagesFromLocale
+ GSLastErrorStr
+ GSLocaleVariants
+ GSNameFromClass
+ GSNameFromSelector
+ GSObjCAddClassBehavior
+ GSObjCAddClassOverride
+ GSObjCAddClasses
+ GSObjCAddMethods
+ GSObjCAllSubclassesOfClass
+ GSObjCBehaviorDebug
+ GSObjCClass
+ GSObjCDirectSubclassesOfClass
+ GSObjCFindVariable
+ GSObjCGetInstanceVariableDefinition
+ GSObjCGetVal
+ GSObjCGetVariable
+ GSObjCIsClass
+ GSObjCIsInstance
+ GSObjCIsKindOf
+ GSObjCMakeClass
+ GSObjCMethodNames
+ GSObjCSetVal
+ GSObjCSetVariable
+ GSObjCSuper
+ GSObjCVariableNames
+ GSObjCVersion
+ GSPrintf
+ GSProtocolFromName
+ GSProtocolGetMethodDescriptionRecursive
+ GSRegisterProtocol
+ GSSelectorFromName
+ GSSelectorFromNameAndTypes
+ GSSelectorTypesMatch
+ GSSetLocale
+ GSSetLocaleC
+ GSSkipTypeQualifierAndLayoutInfo
+ GSToUnicode
+ GSTypesFromSelector
+ GSUnicode
+ _Block_copy
+ _Block_release
+ gs_consumed
+ uni_cop
+ uni_is_decomp
+ uni_isnonsp
+ uni_tolower
+ uni_toupper
+ +
+ + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/GCObject.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GCObject.html new file mode 100644 index 0000000..1433d24 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GCObject.html @@ -0,0 +1,741 @@ + + + + +GCObject documentation + + + + Up +
+GCObject documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2002 Free Software Foundation, Inc.
+ +++ +
+Contents -
++
+- + Software documentation for the GCArray class +
+- + Software documentation for the GCDictionary class +
+- + Software documentation for the GCMutableArray class +
+- + Software documentation for the GCMutableDictionary + class +
+- + Software documentation for the GCObject class +
+- + Software documentation for the GCObject(Extra) + category +
+
++ Software documentation for the GCArray class +
+GCArray : NSArray
++++
+- Declared in:
+- GNUstepBase/GCObject.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+
+Instance Variables for GCArray Class
+_contents
+ @protected id* _contents;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_count
+ @protected unsigned int _count;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_isGCObject
+ @protected BOOL* _isGCObject;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+gc
+ @protected gcInfo gc;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GCDictionary class +
+GCDictionary : NSDictionary
++++
+- Declared in:
+- GNUstepBase/GCObject.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+
+Instance Variables for GCDictionary Class
+_map
+ @protected NSMapTable* _map;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+gc
+ @protected gcInfo gc;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GCMutableArray class +
+GCMutableArray : NSMutableArray
++++
+- Declared in:
+- GNUstepBase/GCObject.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+
+Instance Variables for GCMutableArray Class
+_contents
+ @protected id* _contents;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_count
+ @protected unsigned int _count;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_isGCObject
+ @protected BOOL* _isGCObject;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_maxCount
+ @protected unsigned int _maxCount;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+gc
+ @protected gcInfo gc;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GCMutableDictionary + class +
+GCMutableDictionary : NSMutableDictionary
++++
+- Declared in:
+- GNUstepBase/GCObject.h
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ Instance Variables +
+
+Instance Variables for GCMutableDictionary Class
+_map
+ @protected NSMapTable* _map;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+gc
+ @protected gcInfo gc;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GCObject class +
+GCObject : NSObject
++++
+- Declared in:
+- GNUstepBase/GCObject.h
++Availability: OpenStep+
++ + + +++ + The GCObject class is both the base class for all + garbage collected objects, and an infrastructure + for handling garbage collection. +
++ + +
++ + It maintains a list of all garbage collectable objects + and provides a method to run a garbage collection pass + on those objects. +
++ + +
+ Instance Variables +
+ Method summary ++
+- -gcAlreadyVisited
+- -gcNextObject
+- -gcPreviousObject
+- -gcSetNextObject:
+- -gcSetPreviousObject:
+- -gcSetVisited:
+- +gcCollectGarbage
+- +gcIsCollecting
+- +gcObjectWillBeDeallocated:
+- -gcDecrementRefCount
+- -gcDecrementRefCountOfContainedObjects
+- -gcIncrementRefCount
+- -gcIncrementRefCountOfContainedObjects
+
+++gcCollectGarbage
+ + (void) gcCollectGarbage;
++Availability: OpenStep+
++ + + +++ + This method runs a garbage collection, causing + unreferenced objects to be deallocated. This + is done using a simple three pass algorithm - +
++ + +
+
+ + + +- Pass 1
+- + + All the garbage collectable objects are sent a + -gcDecrementRefCountOfContainedObjects + message. + +
+- Pass 2
+- + + All objects having a refCount greater than 0 are + sent an + -gcIncrementRefCountOfContainedObjects + message. + +
+- Pass 3
+- + + All the objects that still have the refCount of 0 + are part of cyclic graphs and none of the objects + from this graph are held by some object outside + graph. These objects receive the + + -dealloc + + + message. In this method they should send the + + -dealloc + + + message to any garbage collectable (GCObject + and subclass) instances they contain. + +
++ + During garbage collection, the + + +gcIsCollecting + + + method returns
+YES
. ++ + +
+++gcIsCollecting
+ + (BOOL) gcIsCollecting;
++Availability: OpenStep+
++ + Returns a flag to indicate whether a garbage + collection is in progress. + ++
+++gcObjectWillBeDeallocated:
+ + (void) gcObjectWillBeDeallocated: (GCObject*)anObject;
++Availability: OpenStep+
++ + Called to remove anObject from the list + of garbage collectable objects.+
This method is + provided so that classes which are not subclasses + of GCObject (but which have the same initial instance + variable layout) can use multiple inheritance + (behaviors) to act as GCObject instances, but + can have their own + + -dealloc + + + methods.
These classes should call this in + their own + + -dealloc + + + methods. + +
+++gcDecrementRefCount
+ - (void) gcDecrementRefCount;
++Availability: OpenStep+
++ + Decrements the garbage collection reference + count for the receiver.+
+ +
+++gcDecrementRefCountOfContainedObjects
+ - (void) gcDecrementRefCountOfContainedObjects;
++Availability: OpenStep+
++ + + +++ + Marks the receiver as not having been visited in + the current garbage collection process (first pass of + collection). +
++ + +
++ + All container subclasses should override this method + to call the super implementation then decrement the + ref counts of their contents as well as sending the + -gcDecrementRefCountOfContainedObjects + message to each of them. +
++ + +
+++gcIncrementRefCount
+ - (void) gcIncrementRefCount;
++Availability: OpenStep+
++ + Increments the garbage collection reference + count for the receiver.+
+ +
+++gcIncrementRefCountOfContainedObjects
+ - (BOOL) gcIncrementRefCountOfContainedObjects;
++Availability: OpenStep+
++ + + +++ + Checks to see if the receiver has already been + visited in the current garbage collection + process, and either marks the receiver as + visited (and returns
+YES
) or returns +NO
to indicate that it had already + been visited. ++ + +
++ + All container subclasses should override this method + to call the super implementation then, if the method + returns
+YES
, increment the reference + count of any contained objects and send the + -gcIncrementRefCountOfContainedObjects + to each of the contained objects too. ++ + +
+
+Instance Variables for GCObject Class
+gc
+ @protected gcInfo gc;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GCObject(Extra) + category +
+GCObject(Extra)
++++
+- Declared in:
+- GNUstepBase/GCObject.h
++Availability: OpenStep+
++ + This category implements accessor methods for the + instance variables used for garbage collecting. + If/when we can ensure that all garbage collecting + classes use the same initial ivar layout, we can + remove these methods and the garbage collector can + access the ivars directly, making a pretty big + performance improvement during collecting.+ Method summary +
+ NB. These methods must *only* be used by the garbage + collecting process or in methods called from the + garbage collector. Anything else is not thread-safe. + ++
+- -gcAlreadyVisited
+- -gcNextObject
+- -gcPreviousObject
+- -gcSetNextObject:
+- -gcSetPreviousObject:
+- -gcSetVisited:
+
+++gcAlreadyVisited
+ - (BOOL) gcAlreadyVisited;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++gcNextObject
+ - (GCObject*) gcNextObject;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++gcPreviousObject
+ - (GCObject*) gcPreviousObject;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++gcSetNextObject:
+ - (GCObject*) gcSetNextObject: (GCObject*)anObject;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++gcSetPreviousObject:
+ - (GCObject*) gcSetPreviousObject: (GCObject*)anObject;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+++gcSetVisited:
+ - (void) gcSetVisited: (BOOL)flag;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/GSCategories.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSCategories.html similarity index 100% rename from resources/documentation/Developer/BaseAdditions/Reference/GSCategories.html rename to resources/documentation/Developer/BaseAdditions/Reference/Reference/GSCategories.html diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSLock.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSLock.html new file mode 100644 index 0000000..d2b76c3 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSLock.html @@ -0,0 +1,184 @@ + + + + +GSLock documentation + + + + Up +
+GSLock documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Version: 33621
+Date: 2011-07-24 07:09:22 -0600 (Sun, 24 Jul 2011)
+Copyright: (C) 2003 Free Software Foundation, Inc.
+ +++ +
+Contents -
++
+- + Software documentation for the GSLazyLock class +
+- + Software documentation for the GSLazyRecursiveLock + class +
+
++ Software documentation for the GSLazyLock class +
+GSLazyLock : NSLock
++++
+- Declared in:
+- GNUstepBase/GSLock.h
++Availability: OpenStep+
++ + This implements a class which, when used in + single-threaded mode, acts like a lock while + avoiding the overheads of actually using a real + lock. However, when the programm in which the class is + used becomes multi-threaded, all instances of this class + transform themselves into real locks in the correct + state (locked/unlocked) corresponding to whether the + lazy lock was locked or not at the point where the + program became multi threadeed.+
Use of this + class allows you to write thread-safe code which avoids + locking inefficiencies when used in a single threaded + application, without having to worry about + dealing with the issue yourself. + +
+ Instance Variables +
+ Method summary + +
+++_becomeThreaded:
+ - (void) _becomeThreaded: (NSNotification*)n;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this method indicates that it is private, for + internal use only, and you should not use the + method in your code.+
Do not use this method + ... it is used internally to handle the transition from + a single threaded system to a multi threaded one. + +
+
+Instance Variables for GSLazyLock Class
+locked
+ @protected int locked;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSLazyRecursiveLock + class +
+GSLazyRecursiveLock : NSRecursiveLock
++++
+- Declared in:
+- GNUstepBase/GSLock.h
++Availability: OpenStep+
++ + This implements a class which, when used in + single-threaded mode, acts like a recursive + lock while avoiding the overheads of using a real lock. + However, when the programm in which the class is + used becomes multi-threaded, all instances of this class + transform themselves into real locks in the correct + state (locked/unlocked) corresponding to whether the + lazy recursive lock was locked or not at the point where + the program became multi threadeed.+
Use of this + class allows you to write thread-safe code which avoids + locking inefficiencies when used in a single threaded + application, without having to worry about + dealing with the issue yourself. + +
+ Instance Variables +
+ Method summary + +
+++_becomeThreaded:
+ - (void) _becomeThreaded: (NSNotification*)n;
++Availability: OpenStep+
++ + Warning the underscore at the start of the + name of this method indicates that it is private, for + internal use only, and you should not use the + method in your code.+
Do not use this method + ... it is used internally to handle the transition from + a single threaded system to a multi threaded one. + +
+
+Instance Variables for GSLazyRecursiveLock Class
+counter
+ @protected int counter;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSMime.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSMime.html new file mode 100644 index 0000000..cde4654 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSMime.html @@ -0,0 +1,3286 @@ + + + + +The MIME parsing system + + + + Up +
+The MIME parsing system
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Version: 38957
+Date: 2015-08-30 04:50:59 -0600 (Sun, 30 Aug 2015)
+Copyright: (C) 2000 Free Software Foundation, Inc.
+ +++ +
+Contents -
++
+- + Mime Parser +
+- + Software documentation for the GSMimeCodingContext + class +
+- + Software documentation for the GSMimeDocument class +
+- + Software documentation for the GSMimeHeader class +
+- + Software documentation for the GSMimeParser class +
+- + Software documentation for the GSMimeSMTPClient class +
+- + Software documentation for the + NSObject(GSMimeSMTPClient) category +
+
+Mime Parser
++ + The GNUstep Mime parser. This is collection Objective-C + classes for representing MIME (and HTTP) documents and + managing conversions to and from convenient internal + formats. +
++ + The idea is to center round two classes - +
++
+ +- document
+- + + A container for the actual data (and headers) of a + mime/http document, this is also used to create raw + MIME data for sending. + +
+- parser
+- + + An object that can be fed data and will parse it into a + document. This object also provides various utility + methods and an API that permits overriding in order + to extend the functionality to cope with new document + types. + +
++ Software documentation for the GSMimeCodingContext + class +
+GSMimeCodingContext : NSObject
++++
+- Declared in:
+- GNUstepBase/GSMime.h
++Availability: Not in OpenStep/MacOS-X+
++ + Coding contexts are objects used by the parser to + store the state of decoding incoming data while it is + being incrementally parsed.+
The most rudimentary + context... this is used for decoding plain text and + binary data (ie data which is not really decoded at + all) and all other decoding work is done by a subclass. + +
+ Instance Variables +
+ Method summary + +
+++atEnd
+ - (BOOL) atEnd;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the current value of the 'atEnd' flag. + ++
+++decodeData: length: intoData:
+ - (BOOL) decodeData: (const void*)sData length: (NSUInteger)length intoData: (NSMutableData*)dData;
++Availability: Not in OpenStep/MacOS-X+
++ + Decode length bytes of data from + sData and append the results to + dData.+
ReturnYES
on + success,NO
if there is an error. + +
+++setAtEnd:
+ - (void) setAtEnd: (BOOL)flag;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the current value of the 'atEnd' flag. + ++
+
+Instance Variables for GSMimeCodingContext Class
+atEnd
+ @protected BOOL atEnd;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSMimeDocument class +
+GSMimeDocument : NSObject
++++
+- Declared in:
+- GNUstepBase/GSMime.h
++++
+- Conforms to:
+- NSCopying
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + This class is intended to provide a wrapper for MIME + messages permitting easy access to the contents of + a message and providing a basis for parsing an unparsing + messages that have arrived via email or as a web + document. +
++ + +
++ + The class keeps track of all the document headers, and + provides methods for modifying and examining the + headers that apply to a document. +
++ + +
+ Instance Variables +
+ Method summary ++
+- +charsetFromEncoding:
+- +decodeBase64:
+- +decodeBase64String:
+- +documentWithContent:type:name:
+- +encodeBase64:
+- +encodeBase64String:
+- +encodingFromCharset:
+- -addContent:
+- -addHeader:
+- -addHeader:value:parameters:
+- -allHeaders
+- -content
+- -contentByID:
+- -contentByLocation:
+- -contentByName:
+- -contentFile
+- -contentID
+- -contentLocation
+- -contentName
+- -contentSubtype
+- -contentType
+- -contentsByName:
+- -convertToBase64
+- -convertToBinary
+- -convertToData
+- -convertToText
+- -copyWithZone:
+- -deleteContent:
+- -deleteHeader:
+- -deleteHeaderNamed:
+- -headerNamed:
+- -headersNamed:
+- -makeBoundary
+- -makeContentID
+- -makeHeader:value:parameters:
+- -makeMessageID
+- -rawMimeData
+- -rawMimeData:
+- -rawMimeData:foldedAt:
+- -setContent:
+- -setContent:type:
+- -setContent:type:name:
+- -setContentType:
+- -setHeader:
+- -setHeader:value:parameters:
+
+++charsetFromEncoding:
+ + (NSString*) charsetFromEncoding: (NSStringEncoding)enc;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the MIME characterset name corresponding to + the specified string encoding.+
As a special + case, returns "us-ascii" if enc is zero. +
Returnsnil
if enc + cannot be mapped to a charset.
NB. The + correspondence between charsets and + encodings is not a direct one to one mapping, so + successive calls to + + +encodingFromCharset: + + + and + + +charsetFromEncoding: + + + may not produce the original input. + +
+++decodeBase64:
+ + (NSData*) decodeBase64: (NSData*)source;
++Availability: Not in OpenStep/MacOS-X+
++ + Decode the source data from base64 + encoding and return the result.+
The + source data is expected to be ASCII text + and may be multiple lines or a line of any length + (decoding is very tolerant). + +
+++decodeBase64String:
+ + (NSString*) decodeBase64String: (NSString*)source;
++Availability: Not in OpenStep/MacOS-X+
++ + Converts the base64 encoded data in + source to a decoded ASCII or UTF8 string + using the + + +decodeBase64: + + + method. If the encoded data does not represent an + ASCII or UTF8 string, you should use the + + +decodeBase64: + + + method directly. + ++
+++documentWithContent: type: name:
+ + (GSMimeDocument*) documentWithContent: (id)newContent type: (NSString*)type name: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to return an autoreleased + document using the specified content, + type, and name value. This + calls the + + -setContent:type:name: + + + method to set up the document. + ++
+++encodeBase64:
+ + (NSData*) encodeBase64: (NSData*)source;
++Availability: Not in OpenStep/MacOS-X+
++ + Encode the source data to base64 encoding + and return the result.+
The resulting data is + ASCII text and contains only the base64 encoded + values with no line breaks or extraneous data. This + is base64 encoded data in it's general format as + mandated in RFC 3548. If the data is to be used as + part of a MIME document body, line breaks must be + introduced at 76 byte intervals (GSMime does + this when automatically encoding data for you). If the + data is to be used in a PEM document line breaks must + be introduced at 74 byte intervals. + +
+++encodeBase64String:
+ + (NSString*) encodeBase64String: (NSString*)source;
++Availability: Not in OpenStep/MacOS-X+
++ + Converts the ASCII or UTF8 string + source into base64 encoded data using the + + +encodeBase64: + + + method. If the original data is not an ASCII or + UTF8 string, you should use the + + +encodeBase64: + + + method directly. + ++
+++encodingFromCharset:
+ + (NSStringEncoding) encodingFromCharset: (NSString*)charset;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the string encoding corresponding to the + specified MIME characterset name.+
As a + special case, returns NSASCIIStringEncoding if + charset isnil
.
+ Returns 0 if charset cannot be found. +
NB. We treat iso-10646-ucs-2 as utf-16, which + should work for most text, but is not strictly + correct.
The correspondence between + charsets and encodings is not a direct one to one + mapping, so successive calls to + + +encodingFromCharset: + + + and + + +charsetFromEncoding: + + + may not produce the original input. + +
+++addContent:
+ - (void) addContent: (id)newContent;
++Availability: Not in OpenStep/MacOS-X+
++ + Adds a part to a multipart document + ++
+++addHeader:
+ - (void) addHeader: (GSMimeHeader*)info;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + This method may be called to add a header to the + document. The header must be a mutable + dictionary object that contains at least the + fields that are standard for all headers. +
++ + +
++ + Certain well-known headers are restricted to one + occurrence in an email, and when extra copies + are added they replace originals. +
++ + +
++ + The mime-version header is special... it is inserted + before any other mime headers rather than being + added at the end. +
++ + +
+++addHeader: value: parameters:
+ - (GSMimeHeader*) addHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to create a new header and + add it to the receiver.+
Returns the newly + created header.
See + [GSMimeHeader -initWithName:value:parameters:] + and -addHeader: + methods. + +
+++allHeaders
+ - (NSArray*) allHeaders;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + This method returns an array containing GSMimeHeader + objects representing the headers associated with + the document. +
++ + +
++ + The order of the headers in the array is the order of + the headers in the document. +
++ + +
+++content
+ - (id) content;
++Availability: Not in OpenStep/MacOS-X+
++ + This returns the content data of the document in the + same format in which the data was placed in the + document. This may be one of - + +++
+ + If you want to be sure that you get a particular type of + data, use the + + -convertToData + + + or + + -convertToText + + + method. + +- text
+- + an NSString object +
+- binary
+- + an NSData object +
+- multipart
+- + + an NSArray object containing GSMimeDocument objects + +
+
+++contentByID:
+ - (id) contentByID: (NSString*)key;
++Availability: Not in OpenStep/MacOS-X+
++ + Search the content of this document to locate a part + whose content ID matches the specified key + . Recursively descend into other documents.+
Wraps + the supplied key in angle brackets if they + are not present.
Returnnil
if no + match is found, the matching GSMimeDocument + otherwise. + +
+++contentByLocation:
+ - (id) contentByLocation: (NSString*)key;
++Availability: Not in OpenStep/MacOS-X+
++ + Search the content of this document to locate a part + whose content ID matches the specified key + . Recursively descend into other documents.+
Wraps + the supplied key in angle brackets if they + are not present.
Returnnil
if no + match is found, the matching GSMimeDocument + otherwise. + +
+++contentByName:
+ - (id) contentByName: (NSString*)key;
++Availability: Not in OpenStep/MacOS-X+
++ + Search the content of this document to locate a part + whose content-type name or content-disposition name + matches the specified key. Recursively + descend into other documents.+
Return +nil
if no match is found, the matching + GSMimeDocument otherwise. + +
+++contentFile
+ - (NSString*) contentFile;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to fetch the content file + name from the header. + ++
+++contentID
+ - (NSString*) contentID;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to fetch the content ID from + the header. + ++
+++contentLocation
+ - (NSString*) contentLocation;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to fetch the content + location from the header. + ++
+++contentName
+ - (NSString*) contentName;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to fetch the content name + from the header. + ++
+++contentSubtype
+ - (NSString*) contentSubtype;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to fetch the content + sub-type from the header. + ++
+++contentType
+ - (NSString*) contentType;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to fetch the content type + from the header. + ++
+++contentsByName:
+ - (NSArray*) contentsByName: (NSString*)key;
++Availability: Not in OpenStep/MacOS-X+
++ + Search the content of this document to locate all + parts whose content-type name or content-disposition + name matches the specified key. Do + NOT recurse into other documents.+
+ Returnnil
if no match is found, an + array of matching GSMimeDocument instances otherwise. + +
+++convertToBase64
+ - (void) convertToBase64;
++Availability: Not in OpenStep/MacOS-X+
++ + Converts any binary parts of the receiver's + content to be base64 encoded rather than 8bit or + binary encoded... a convenience method to make the + results of the + + -rawMimeData + + + method safe for sending via routes which only + support 7bit data. + ++
+++convertToBinary
+ - (void) convertToBinary;
++Availability: Not in OpenStep/MacOS-X+
++ + Converts any base64 encoded parts of the + receiver's content to be binary encoded instead + ... a convenience method to shrink down the size of the + message when converted to data using the + + -rawMimeData + + + method. + ++
+++convertToData
+ - (NSData*) convertToData;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the content as an NSData object (unless it is + multipart)+
Perform conversion from text + to data using the charset specified in the content-type + header, or infer the charset, and update the header + accordingly.
If the content can not be + represented as a plain NSData object, this + method returnsnil
. + +
+++convertToText
+ - (NSString*) convertToText;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the content as an NSString object (unless it + is multipart) If the content cannot be represented as + text, this returns+nil
. + +
+++copyWithZone:
+ - (id) copyWithZone: (NSZone*)z;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a copy of the receiver. + ++
+++deleteContent:
+ - (void) deleteContent: (GSMimeDocument*)aPart;
++Availability: Not in OpenStep/MacOS-X+
++ + Deletes all ocurrances of parts identical to + aPart from the receiver.+
+ Recursively deletes from enclosed documents as + necessary. + +
+++deleteHeader:
+ - (void) deleteHeader: (GSMimeHeader*)aHeader;
++Availability: Not in OpenStep/MacOS-X+
++ + This method removes all occurrences of header objects + identical to the one supplied as an argument. + ++
+++deleteHeaderNamed:
+ - (void) deleteHeaderNamed: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
++ + This method removes all occurrences of headers whose + name matches the supplied string. + ++
+++headerNamed:
+ - (GSMimeHeader*) headerNamed: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
++ + This method returns the first header whose + name equals the supplied argument. + ++
+++headersNamed:
+ - (NSArray*) headersNamed: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
++ + This method returns an array of GSMimeHeader objects + for all headers whose names equal the supplied + argument. + ++
+++makeBoundary
+ - (NSString*) makeBoundary;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Make a probably unique string suitable for use as + the boundary parameter in the content of a multipart + document. +
++ + +
++ + This implementation provides base64 encoded data + consisting of an MD5 digest of some pseudo + random stuff, plus an incrementing counter. The + inclusion of the counter guarantees that we + won't produce two identical strings in the same run + of the program. +
++ + +
++ + The boundary has a suffix of '=_' to ensure it's not + mistaken for quoted-printable data. +
++ + +
+++makeContentID
+ - (GSMimeHeader*) makeContentID;
++Availability: Not in OpenStep/MacOS-X+
++ + Create new content ID header, set it as the content + ID of the document and return it.+
This is a + convenience method which simply places angle + brackets around an + [NSProcessInfo -globallyUniqueString] + to form the header value. + +
+++makeHeader: value: parameters:
+ - (GSMimeHeader*) makeHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
++Availability: Not in OpenStep/MacOS-X+
++ + Deprecated... use + + -setHeader:value:parameters: + + + ++
+++makeMessageID
+ - (GSMimeHeader*) makeMessageID;
++Availability: Not in OpenStep/MacOS-X+
++ + Create new message ID header, set it as the message + ID of the document and return it.+
This is a + convenience method which simply places angle + brackets around an + [NSProcessInfo -globallyUniqueString] + to form the header value. + +
+++rawMimeData
+ - (NSMutableData*) rawMimeData;
++Availability: Not in OpenStep/MacOS-X+
++ + Return an NSData object representing the MIME + document as raw data ready to be sent via an email + system.+
Calls + + -rawMimeData: + + + with the isOuter flag set toYES
. + +
+++rawMimeData:
+ - (NSMutableData*) rawMimeData: (BOOL)isOuter;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Return an NSData object representing the MIME + document as raw data ready to be sent via an + email system. +
++ + +
++ + The isOuter flag denotes whether this + document is the outermost part of a MIME + message, or is a part of a multipart message. +
++ + +
++ + Long lines are folded at the default column. +
++ + +
+++rawMimeData: foldedAt:
+ - (NSMutableData*) rawMimeData: (BOOL)isOuter foldedAt: (NSUInteger)fold;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Return an NSData object representing the MIME + document as raw data ready to be sent via an + email system. +
++ + +
++ + The isOuter flag denotes whether this + document is the outermost part of a MIME + message, or is a part of a multipart message. +
++ + +
++ + The fold number specifes the column at + which lines are considered to be 'long', and get + broken/folded. +
++ + +
++ + During generation of the document this method will + perform some consistency checks and try to + automatically generate missing header + information needed to build the mime data + (eg. filling in the boundary parameter in the + content-type header for multipart + documents).
+
However, you should not + depend on automatic behaviors but should fill in + as much detail as possible before generating data. ++ + +
+++setContent:
+ - (void) setContent: (id)newContent;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets a new value for the content of the document. + ++
+++setContent: type:
+ - (void) setContent: (id)newContent type: (NSString*)type;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method calling + + -setContent:type:name: + + + to set document content and type with a ++nil
value for name... useful for + top-level documents rather than parts within a + document (parts should really be named). + +
+++setContent: type: name:
+ - (void) setContent: (id)newContent type: (NSString*)type name: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Convenience method to set the content of the + document along with creating a content-type + header for it. +
++ + +
++ + The type parameter may be a simple common + content type (text, multipart, or + application), in which case the default + subtype for that type is used. + Alternatively it may be full detail of a + content type header value, which will + be parsed into 'type', 'subtype' and 'parameters'. +
+
NB. In this case, if the parsed data + contains a 'name' parameter and the + name argument is non-nil, the argument + value will override the parsed value. ++ + +
++ + You can get the same effect by calling + + -setContent: + + + to set the document content, then creating a + GSMimeHeader + + instance, initialising it with the content + type information you want using + [GSMimeHeader -initWithName:value:parameters:] +, and calling the -setHeader: + method to attach it to the document. +
++ + +
++ + Using this method imposes a few extra checks and + restrictions on the combination of content + and type/subtype you may use... so you may want to + use the more primitive methods in order to bypass + these checks if you are using unusual + type/subtype information or if you need to + provide additional parameters in the header. +
++ + +
+++setContentType:
+ - (void) setContentType: (NSString*)newType;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Convenience method to set the content type of + the document without altering any content. The + supplied newType may be full type + information including subtype and parameters + as found after the colon in a mime Content-Type + header. +
++ + +
+++setHeader:
+ - (void) setHeader: (GSMimeHeader*)info;
++Availability: Not in OpenStep/MacOS-X+
++ + This method may be called to set a header in the + document. Any other headers with the same name + will be removed from the document. + ++
+++setHeader: value: parameters:
+ - (GSMimeHeader*) setHeader: (NSString*)name value: (NSString*)value parameters: (NSDictionary*)parameters;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to create a new header and + add it to the receiver replacing any existing header of + the same name.+
Returns the newly + created header.
See + [GSMimeHeader -initWithName:value:parameters:] + and -setHeader: + methods. + +
+
+Instance Variables for GSMimeDocument Class
+_unused
+ @protected void* _unused;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+content
+ @protected id content;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+headers
+ @protected NSMutableArray* headers;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSMimeHeader class +
+GSMimeHeader : NSObject
++++
+- Declared in:
+- GNUstepBase/GSMime.h
++++
+- Conforms to:
+- NSCopying
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ Instance Variables +
+ Method summary ++
+- +makeQuoted:always:
+- +makeToken:
+- +makeToken:preservingCase:
+- -copyWithZone:
+- -fullValue
+- -initWithName:value:
+- -initWithName:value:parameters:
+- -name
+- -namePreservingCase:
+- -objectForKey:
+- -objects
+- -parameterForKey:
+- -parameters
+- -parametersPreservingCase:
+- -rawMimeData
+- -rawMimeDataPreservingCase:
+- -rawMimeDataPreservingCase:foldedAt:
+- -setName:
+- -setObject:forKey:
+- -setParameter:forKey:
+- -setParameters:
+- -setValue:
+- -text
+- -value
+
+++makeQuoted: always:
+ + (NSString*) makeQuoted: (NSString*)v always: (BOOL)flag;
++Availability: Not in OpenStep/MacOS-X+
++ + Makes the value into a quoted string if necessary (ie + if it contains any special / non-token characters). If + flag is+YES
then the value is + made into a quoted string even if it does not contain + special characters. + +
+++makeToken:
+ + (NSString*) makeToken: (NSString*)t;
++Availability: Not in OpenStep/MacOS-X+
++ + Convert the supplied string to a standardized token + by making it lowercase and removing all illegal + characters. + ++
+++makeToken: preservingCase:
+ + (NSString*) makeToken: (NSString*)t preservingCase: (BOOL)preserve;
++Availability: Not in OpenStep/MacOS-X+
++ + Convert the supplied string to a standardized token + by removing all illegal characters. If + preserve is+NO
then the + result is converted to lowercase.
Returns an + autoreleased (and possibly modified) copy of + the original. + +
+++copyWithZone:
+ - (id) copyWithZone: (NSZone*)z;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++fullValue
+ - (NSString*) fullValue;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the full value of the header including any + parameters and preserving case. This is an + unfolded (long) line with no + escape sequences (ie contains a unicode string not + necessarily plain ASCII).+
If you just + want the plain value excluding any parameters, use the + + -value + + + method instead. + +
+++initWithName: value:
+ - (id) initWithName: (NSString*)n value: (NSString*)v;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method calling + + -initWithName:value:parameters: + + + with the supplied argument and+nil
+ parameters. + +
+++initWithName: value: parameters:
+ - (id) initWithName: (NSString*)n value: (NSString*)v parameters: (NSDictionary*)p;
++Availability: Not in OpenStep/MacOS-X+
+This is a designated initialiser for the class.
++ + Initialise a GSMimeHeader supplying a name, a + value and a dictionary of any parameters occurring + after the value. + ++
+++name
+ - (NSString*) name;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the name of this header... a lowercase + string. + ++
+++namePreservingCase:
+ - (NSString*) namePreservingCase: (BOOL)preserve;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the name of this header as originally set + (without conversion to lowercase) if + preserve is+YES
, but as a + lowercase string if preserve is +NO
. + +
+++objectForKey:
+ - (id) objectForKey: (NSString*)k;
++Availability: Not in OpenStep/MacOS-X+
++ + Return extra information specific to a particular + header type. + ++
+++objects
+ - (NSDictionary*) objects;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a dictionary of all the additional objects + for the header. + ++
+++parameterForKey:
+ - (NSString*) parameterForKey: (NSString*)k;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the named parameter value. + ++
+++parameters
+ - (NSDictionary*) parameters;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the parameters of this header... a + dictionary whose keys are all lowercase strings, + and whose values are strings which may contain mixed + case. + ++
+++parametersPreservingCase:
+ - (NSDictionary*) parametersPreservingCase: (BOOL)preserve;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the parameters of this header... a + dictionary whose keys are strings preserving the + case originally used to set the values or all + lowercase depending on the preserve + argument. + ++
+++rawMimeData
+ - (NSMutableData*) rawMimeData;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the full text of the header, built from its + component parts, and including a terminating + CR-LF + ++
+++rawMimeDataPreservingCase:
+ - (NSMutableData*) rawMimeDataPreservingCase: (BOOL)preserve;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++rawMimeDataPreservingCase: foldedAt:
+ - (NSMutableData*) rawMimeDataPreservingCase: (BOOL)preserve foldedAt: (NSUInteger)fold;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the full text of the header, built from its + component parts, and including a terminating + CR-LF.+
If preserve is +YES
then we attempt to build the text + using the same case as it was originally parsed/set + from, otherwise we use common conventions of + capitalising the header names and using + lowercase parameter names.
If + fold is greater than zero, lines with more + than the specified number of characters are considered + 'long' and are folded into multiple lines. + +
+++setName:
+ - (void) setName: (NSString*)s;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the name of this header... and removes illegal + characters.+
If given anil
+ or empty string argument, sets the name to 'unknown'. +
NB. The value returned by the + + -name + + + method will be a lowercase version of thae name. + +
+++setObject: forKey:
+ - (void) setObject: (id)o forKey: (NSString*)k;
++Availability: Not in OpenStep/MacOS-X+
++ + Method to store specific information for particular + types of header. This is used for non-standard parts + of headers.+
Setting anil
value for + o will remove any existing value set using + the k as its key. + +
+++setParameter: forKey:
+ - (void) setParameter: (NSString*)v forKey: (NSString*)k;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets a parameter of this header... converts name to + lowercase and removes illegal characters.+
+ If anil
parameter name is supplied, + removes any parameter with the specified key. + +
+++setParameters:
+ - (void) setParameters: (NSDictionary*)d;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets all parameters of this header... converts names + to lowercase and removes illegal characters from them. + ++
+++setValue:
+ - (void) setValue: (NSString*)s;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the value of this header (without changing + parameters)+
If given anil
+ argument, set an empty string value. + +
+++text
+ - (NSString*) text;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the full text of the header, built from its + component parts, and including a terminating + CR-LF + ++
+++value
+ - (NSString*) value;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the value of this header (excluding any + parameters).+
Use the + + -fullValue + + + m,ethod if you want parameter included. + +
+
+Instance Variables for GSMimeHeader Class
+name
+ @protected NSString* name;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+objects
+ @protected NSMutableDictionary* objects;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+params
+ @protected NSMutableDictionary* params;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+value
+ @protected NSString* value;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSMimeParser class +
+GSMimeParser : NSObject
++++
+- Declared in:
+- GNUstepBase/GSMime.h
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + This class provides support for parsing MIME messages + into GSMimeDocument objects. Each parser object + maintains an associated document into which data + is stored. +
++ + +
++ + You supply the document to be parsed as one or more + data items passed to the + + -parse: + + + method, and (if the method always returns +
+YES
, you give it a final +nil
argument to mark the end of the + document. ++ + +
++ + On completion of parsing a valid document, the + [GSMimeParser -mimeDocument] + method returns the resulting parsed document. +
++ + +
++ + If you need to parse faulty documents (eg where a faulty + mail client has produced an email which does not + conform to the MIME standards), you should look at + the + + -setBuggyQuotes: + + + and + + -setDefaultCharset: + + + methods, which are designed to cope with the most + common faults. +
++ + +
+ Instance Variables +
+ Method summary ++
+- +documentFromData:
+- +mimeParser
+- -contextFor:
+- -data
+- -decodeData:fromRange:intoData:withContext:
+- -excess
+- -expectNoHeaders
+- -isComplete
+- -isHttp
+- -isInBody
+- -isInHeaders
+- -mimeDocument
+- -parse:
+- -parseHeader:
+- -parseHeaders:remaining:
+- -scanHeaderBody:into:
+- -scanName:
+- -scanPastSpace:
+- -scanSpecial:
+- -scanToken:
+- -setBuggyQuotes:
+- -setDefaultCharset:
+- -setHeadersOnly
+- -setIsHttp
+
+++documentFromData:
+ + (GSMimeDocument*) documentFromData: (NSData*)mimeData;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method to parse a single data item + as a MIME message and return the resulting document. + ++
+++mimeParser
+ + (GSMimeParser*) mimeParser;
++Availability: Not in OpenStep/MacOS-X+
++ + Create and return a parser. + ++
+++contextFor:
+ - (GSMimeCodingContext*) contextFor: (GSMimeHeader*)info;
++Availability: Not in OpenStep/MacOS-X+
++ + Return a coding context object to be used for + decoding data according to the scheme specified in + the header. + + +++ + The default implementation supports the following + transfer encodings specified in either a +
+transfer-encoding
of +content-transfer-encoding
header - ++ + +
+
+ + To add new coding schemes to the parser, you need to + override this method to return a new coding + context for your scheme when the info + argument indicates that this is appropriate. + +- + base64 +
+- + quoted-printable +
+- + binary (no coding actually performed) +
+- + 7bit (no coding actually performed) +
+- + 8bit (no coding actually performed) +
+- + chunked (for HTTP/1.1) +
+- + x-uuencode +
+
+++data
+ - (NSMutableData*) data;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the data accumulated in the parser. If the + parser is still parsing headers, this will be the + header data read so far. If the parse has parsed the + body of the message, this will be the data of the + body, with any transfer encoding removed. + ++
+++decodeData: fromRange: intoData: withContext:
+ - (BOOL) decodeData: (NSData*)sData fromRange: (NSRange)aRange intoData: (NSMutableData*)dData withContext: (GSMimeCodingContext*)con;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Decodes the raw data from the specified range in + the source data object and appends it to the + destination data object. The context object + provides information about the content encoding + type in use, and the state of the decoding + operation. +
++ + +
++ + This method may be called repeatedly to + incrementally decode information as it + arrives on some communications channel. It should + be called with a
+nil
source data item (or + with the atEnd flag of the context set to +YES
) in order to flush any + information held in the context to the output + data object. ++ + +
++ + You may override this method in order to implement + additional coding schemes, but usually it + should be enough for you to implement a custom + GSMimeCodingContext subclass fotr + this method to use. +
++ + Correct the size of the output buffer (shrink back + from the original allocation to the actual unchunked + size). + +
+++excess
+ - (NSData*) excess;
++Availability: Not in OpenStep/MacOS-X+
++ + If there was more data passed to the parser than + actually needed to form the document, this method + returns that excess data, othrwise it returns ++nil
. + +
+++expectNoHeaders
+ - (void) expectNoHeaders;
++Availability: Not in OpenStep/MacOS-X+
++ + This method may be called to tell the parser that it + should not expect to parse any headers, and that the + data it will receive is body data.+
If the parse + is already in the body, or is complete, this method has + no effect.
This is for use when some other + utility has been used to parse headers, and you + have set the headers of the document owned by the + parser accordingly. You can then use the + GSMimeParser to read the body data into the + document. + +
+++isComplete
+ - (BOOL) isComplete;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns+YES
if the document parsing is + known to be completed successfully. Returns +NO
if either more data is needed, or if + the parser encountered an error. + +
+++isHttp
+ - (BOOL) isHttp;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns+YES
if the parser is parsing + an HTTP document rather than a true MIME document. + +
+++isInBody
+ - (BOOL) isInBody;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns+YES
if all the document + headers have been parsed but the document body + parsing may not yet be complete. + +
+++isInHeaders
+ - (BOOL) isInHeaders;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns+YES
if parsing of the document + headers has not yet been completed. + +
+++mimeDocument
+ - (GSMimeDocument*) mimeDocument;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the GSMimeDocument instance into which data + is being parsed or has been parsed. + ++
+++parse:
+ - (BOOL) parse: (NSData*)d;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + This method is called repeatedly to pass raw mime + data into the parser. It returns
+YES
as + long as it wants more data to + complete parsing of a document, and +NO
if parsing is complete, either due + to having reached the end of a document or due to an + error. ++ + +
++ + Since it is not always possible to determine if the + end of a MIME document has been reached from its + content, the method may need to be called with a +
+nil
or empty argument after you have + passed all the data to it... this tells it that + the data is complete. ++ + +
++ + The parser attempts to be as flexible as possible and + to continue parsing wherever it can. If an error + occurs in parsing, the + + -isComplete + + + method will always return
+NO
, even + after the + + -parse: + + + method has been called with anil
+ argument. ++ + +
++ + A multipart document will be parsed to content + consisting of an NSArray of GSMimeDocument + instances representing each part.
+
+ Otherwise, a document will become content of + type NSData, unless it is of content type + text, in which case it will be an NSString. +
If a document has no content type + specified, it will be treated as text + , unless it is identifiable as a file (eg. t + has a content-disposition header containing a + filename parameter). ++ + +
+++parseHeader:
+ - (BOOL) parseHeader: (NSString*)aHeader;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + This method is called to parse a header line + for the current document, split its + contents into a GSMimeHeader object, and add + that information to the document.
+
The method + is normally used internally by the + + -parse: + + + method, but you may also call it to parse an + entire header line and add it to the document + (this may be useful in conjunction with the + + -expectNoHeaders + + + method, to parse a document body data into a + document where the headers are available from a + separate source). ++ + +
+ GSMimeParser *parser = [GSMimeParser mimeParser]; + + [parser parseHeader: @"content-type: text/plain"]; + [parser expectNoHeaders]; + [parser parse: bodyData]; + [parser parse: nil]; ++ + + ++ + The standard implementation of this method scans the + header name and then calls + + -scanHeaderBody:into: + + + to complete the parsing of the header. +
++ + +
++ + This method also performs consistency checks on + headers scanned so it is recommended that it is + not overridden, but that subclasses override + + -scanHeaderBody:into: + + + to implement custom scanning. +
++ + +
++ + As a special case, for HTTP support, this method also + parses lines in the format of HTTP responses as if + they were headers named
+http
. The + resulting header object contains additional + object values - ++ + +
+
+ + +- HttpMajorVersion
+- + The first part of the version number +
+- HttpMinorVersion
+- + The second part of the version number +
+- NSHTTPPropertyServerHTTPVersionKey
+- + The full HTTP protocol version number +
+- NSHTTPPropertyStatusCodeKey
+- + The HTTP status code (numeric) +
+- NSHTTPPropertyStatusReasonKey
+- + + The text message (if any) after the status code + +
+
+++parseHeaders: remaining:
+ - (BOOL) parseHeaders: (NSData*)d remaining: (NSData**)body;
++Availability: Not in OpenStep/MacOS-X+
++ + Parses headers from the supplied data returning ++YES
if more data is needed before the + end of thge headers are reached.
If + body is not NULL and the end of the + headers were reached leaving some unused data, that + remaining data is returned.
NB. The + returned data is a reference to part of the + original memory buffer provided in d, + so you must copy it if you intend to use it after + modifying or deallocating the original data. + +
+++scanHeaderBody: into:
+ - (BOOL) scanHeaderBody: (NSScanner*)scanner into: (GSMimeHeader*)info;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + This method is called to parse a header line and + split its contents into the supplied + GSMimeHeader + + instance. +
++ + +
++ + On entry, the header (info) is already + partially filled, the name is a lowercase + representation of the header name. The + the scanner must be set to a scan + location immediately after the colon in the + original header string (ie to the header value + string). +
++ + +
++ + If the header is parsed successfully, the method + should return
+YES
, otherwise +NO
. ++ + +
++ + You would not normally call this method directly + yourself, but may override it to support + parsing of new headers.
+
If you do call + this yourself, you need to be aware that it may + change the state of the document in the parser. ++ + +
++ + You should be aware of the parsing that the + standard implementation performs, and that + needs to be done for certain headers in + order to permit the parser to work generally - +
++ + +
+
+ + +- content-disposition
+- + + +
++
+ + +- Value
+- + + The content disposition (excluding + parameters) as a lowercase string. + +
+- content-type
+- + + +
++
+ + +- Subtype
+- + The MIME subtype lowercase +
+- Type
+- + The MIME type lowercase +
+- value
+- + + The full MIME type (xxx/yyy) in lowercase + +
+- content-transfer-encoding
+- + + +
++
+ + +- Value
+- + + The transfer encoding type in lowercase + +
+- http
+- + + +
++
+ + +- HttpVersion
+- + + The HTTP protocol version number + +
+- HttpMajorVersion
+- + + The first component of the version number + +
+- HttpMinorVersion
+- + + The second component of the version number + +
+- HttpStatus
+- + + The response status value (numeric code) + +
+- Value
+- + The text message (if any) +
+- transfer-encoding
+- + + +
++
+ + +- Value
+- + + The transfer encoding type in lowercase + +
+
+++scanName:
+ - (NSString*) scanName: (NSScanner*)scanner;
++Availability: Not in OpenStep/MacOS-X+
++ + A convenience method to use a scanner (that is + set up to scan a header line) to scan a name - a simple + word. + +++
+ + +- + Leading whitespace is ignored. +
+
+++scanPastSpace:
+ - (BOOL) scanPastSpace: (NSScanner*)scanner;
++Availability: Not in OpenStep/MacOS-X+
++ + A convenience method to scan past any whitespace in the + scanner in preparation for scanning + something more interesting that comes after it. + Returns+YES
if any space was read, +NO
otherwise. + +
+++scanSpecial:
+ - (NSString*) scanSpecial: (NSScanner*)scanner;
++Availability: Not in OpenStep/MacOS-X+
++ + A convenience method to use a scanner (that is + set up to scan a header line) to scan in a special + character that terminated a token previously + scanned. If the token was terminated by whitespace + and no other special character, the string returned + will contain a single space character. + ++
+++scanToken:
+ - (NSString*) scanToken: (NSScanner*)scanner;
++Availability: Not in OpenStep/MacOS-X+
++ + A convenience method to use a scanner (that is + set up to scan a header line) to scan a header token - + either a quoted string or a simple word. + +++
+ + +- + Leading whitespace is ignored. +
+- + + Backslash escapes in quoted text are + converted + +
+
+++setBuggyQuotes:
+ - (void) setBuggyQuotes: (BOOL)flag;
++Availability: Not in OpenStep/MacOS-X+
++ + Method to inform the parser that the data it is + parsing is likely to contain fields with buggy use + of backslash quotes... and it should try to be tolerant + of them and treat them as is they were escaped + backslashes. This is for use with things like + microsoft internet explorer, which puts the + backslashes used as file path separators in + parameters without quoting them. + ++
+++setDefaultCharset:
+ - (void) setDefaultCharset: (NSString*)aName;
++Availability: Not in OpenStep/MacOS-X+
++ + This is a method to inform the parser that body parts + with no content-type header (which are treated as + text/plain) should use the specified + characterset rather than the default + (us-ascii).+
This also controls the + parsing of headers... in a legal MIME document + these must consist solely of us-ascii characters, but + setting a different default characterset (such as + latin1) will permit many illegal header lines + (produced by faulty mail clients) to be parsed. +
HTTP requests use headers in the latin1 + characterset, so this is the header line + characterset used most commonly by faulty + clients. + +
+++setHeadersOnly
+ - (void) setHeadersOnly;
++Availability: Not in OpenStep/MacOS-X+
++ + Method to inform the parser that only the headers + should be parsed and any remaining data be treated + as excess + ++
+++setIsHttp
+ - (void) setIsHttp;
++Availability: Not in OpenStep/MacOS-X+
++ + Method to inform the parser that the data it is + parsing is an HTTP document rather than true MIME. + This method is called internally if the parser detects + an HTTP response line at the start of the headers it is + parsing. + ++
+
+Instance Variables for GSMimeParser Class
+_defaultEncoding
+ @protected NSStringEncoding _defaultEncoding;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_unused
+ @protected void* _unused;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+boundary
+ @protected NSData* boundary;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+bytes
+ @protected unsigned char* bytes;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+child
+ @protected GSMimeParser* child;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+context
+ @protected GSMimeCodingContext* context;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+data
+ @protected NSMutableData* data;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+dataEnd
+ @protected unsigned int dataEnd;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+document
+ @protected GSMimeDocument* document;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+expect
+ @protected unsigned int expect;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+input
+ @protected unsigned int input;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+lineEnd
+ @protected unsigned int lineEnd;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+lineStart
+ @protected unsigned int lineStart;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+rawBodyLength
+ @protected unsigned int rawBodyLength;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+sectionStart
+ @protected unsigned int sectionStart;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSMimeSMTPClient class +
+GSMimeSMTPClient : NSObject
++++
+- Declared in:
+- GNUstepBase/GSMime.h
++Availability: Not in OpenStep/MacOS-X+
++ + The GSMimeSMTPClient class provides the ability to send + EMails + GSMimeDocument + + instances) via an SMTP server. + ++ Method summary ++
+- -abort
+- -delegate
+- -flush:
+- -lastError
+- -send:
+- -send:envelopeID:
+- -setDelegate:
+- -setHostname:
+- -setIdentity:
+- -setOriginator:
+- -setPort:
+- -setUsername:
+- -state
+- -stateDesc
+
+++abort
+ - (void) abort;
++Availability: Not in OpenStep/MacOS-X+
++ + Shut down any message send in progress and abort any + queued messages. + ++
+++delegate
+ - (id) delegate;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the current delegate. + ++
+++flush:
+ - (BOOL) flush: (NSDate*)limit;
++Availability: Not in OpenStep/MacOS-X+
++ + Tries to flush any queued messages to the SMTP + server, completing by the specified + limit date.+
If limit is +nil
then a date in the distant future + is used.
If the queue is emptied in time, this + method returnsYES
, otherwise it + returnsNO
. + +
+++lastError
+ - (NSError*) lastError;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the last error encountered, or ++nil
if there is none recorded. + +
+++send:
+ - (void) send: (GSMimeDocument*)message;
++Availability: Not in OpenStep/MacOS-X+
++ + Add the message to the queue of emails to be + sent by the receiver. + ++
+++send: envelopeID:
+ - (void) send: (GSMimeDocument*)message envelopeID: (NSString*)envid;
++Availability: Not in OpenStep/MacOS-X+
++ + Add the message to the queue of emails to be + sent by the receiver.+
Also adds an envelope ID + string to be used to uniquely identify the + message for delivery receipting purposes. +
For this to work, the SMTP gateway being used + must support the SMTP service extension for delivery + status notification (RFC 3460). + +
+++setDelegate:
+ - (void) setDelegate: (id)d;
++Availability: Not in OpenStep/MacOS-X+
++ + Set the delegate to receive callback methods indicating + when a message is sent, failed, or removed from the + queue unsent. + ++
+++setHostname:
+ - (void) setHostname: (NSString*)s;
++Availability: Not in OpenStep/MacOS-X+
++ + Set the host for the SMTP server. If this is not set + (or is set to+nil
) then the + GSMimeSMTPClientHost user default is + used. If the host isnil
or an empty + string then 'localhost' is used. + +
+++setIdentity:
+ - (void) setIdentity: (NSString*)s;
++Availability: Not in OpenStep/MacOS-X+
++ + Set the host for the SMTP client to identify itsself to + the server. If this is not set (or is set to ++nil
) then the GSMimeSMTPClientIdentity + user default is used. If the identity is +nil
or an empty string then a name of + the current host is use. + +
+++setOriginator:
+ - (void) setOriginator: (NSString*)s;
++Availability: Not in OpenStep/MacOS-X+
++ + Set the originator for any emails sent by the SMTP + client.+
This overrides the value in the + 'from' header of an email.
If this is not set + (or is set tonil
) then the + GSMimeSMTPClientOriginator user + default is used. If the originator is +nil
or an empty string then the value + in the 'from' header of the email is used. + +
+++setPort:
+ - (void) setPort: (NSString*)s;
++Availability: Not in OpenStep/MacOS-X+
++ + Set the port for the SMTP server. If this is not set + (or is set to+nil
) then the + GSMimeSMTPClientPort user default is + used. If the port is not an integer in the 1-65535 + range, then '25' (the default SMTP port) is used. + +
+++setUsername:
+ - (void) setUsername: (NSString*)s;
++Availability: Not in OpenStep/MacOS-X+
++ + Set the username for authentication to the SMTP server. + If this is not set (or is set to+nil
) then + the GSMimeSMTPClientUsername user default is used. If + the username isnil
or an empty string + then authentication is not attempted. + +
+++state
+ - (int) state;
++Availability: Not in OpenStep/MacOS-X+
++ + returns the receivers current state. + ++
+++ +stateDesc
+ - (NSString*) stateDesc;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string describing the receiver's current + state + ++
++ Software documentation for the + NSObject(GSMimeSMTPClient) category +
+NSObject(GSMimeSMTPClient)
++++
+- Declared in:
+- GNUstepBase/GSMime.h
++Availability: Not in OpenStep/MacOS-X+
++ + Informal protocol for delegates of the + GSMimeSMTPClient class. The default + implementations of these methods do nothing. + ++ Method summary + +
+++smtpClient: mimeFailed:
+ - (void) smtpClient: (GSMimeSMTPClient*)client mimeFailed: (GSMimeDocument*)doc;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++smtpClient: mimeSent:
+ - (void) smtpClient: (GSMimeSMTPClient*)client mimeSent: (GSMimeDocument*)doc;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++smtpClient: mimeUnsent:
+ - (void) smtpClient: (GSMimeSMTPClient*)client mimeUnsent: (GSMimeDocument*)doc;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSXML.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSXML.html new file mode 100644 index 0000000..3984638 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/GSXML.html @@ -0,0 +1,4344 @@ + + + + +The XML and HTML parsing system + + + + Up +
+The XML and HTML parsing system
+Authors
++
+- Michael Pakhantsov (
+mishel@berest.dp.ua
)- +
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2000-2005 Free Software Foundation, Inc.
+ +++ +
+Contents -
++
+- + The XML and HTML parsing system +
+- + Software documentation for the GSHTMLParser class +
+- + Software documentation for the GSHTMLSAXHandler class +
+- + Software documentation for the GSSAXHandler class +
+- + Software documentation for the GSTreeSAXHandler class +
+- + Software documentation for the GSXMLAttribute class +
+- + Software documentation for the GSXMLDocument class +
+- + Software documentation for the GSXMLNamespace class +
+- + Software documentation for the GSXMLNode class +
+- + Software documentation for the GSXMLParser class +
+- + Software documentation for the GSXMLRPC class +
+- + Software documentation for the GSXPathBoolean class +
+- + Software documentation for the GSXPathContext class +
+- + Software documentation for the GSXPathNodeSet class +
+- + Software documentation for the GSXPathNumber class +
+- + Software documentation for the GSXPathObject class +
+- + Software documentation for the GSXPathString class +
+- + Software documentation for the GSXMLDocument(XSLT) + category +
+- + Software documentation for the GSXMLRPC(Delegate) + category +
+- + Software documentation for the NSString(GSXML) + category +
+
+The XML and HTML parsing system
++ + The GNUstep XML parser is a collection Objective-C classes + wrapping the C XML parsing library (libxml). +
++ + The underlying C library handles high performance parsing, + while the ObjectiveC classes provide ease of + use/integration. +
+ ++ Software documentation for the GSHTMLParser class +
+GSHTMLParser : GSXMLParser
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + The GSHTMLParser class is a simple subclass of + GSXMLParser which should parse reasonably well + formed HTML documents. If you wish to parse XHTML + documents, you should use GSXMLParser... the + GSHTMLParser class is for older 'legacy' + documents. + ++ ++ Software documentation for the GSHTMLSAXHandler class +
+GSHTMLSAXHandler : GSSAXHandler
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + You may create a subclass of this class to handle + incremental parsing of html documents... this is + provided for handling legacy documents, as modern + html documents should use xhtml, and for those you + should simply subclass + GSSAXHandler + + ++ ++ Software documentation for the GSSAXHandler class +
+GSSAXHandler : NSObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + XML SAX Handler. +
++ + +
++ + GSSAXHandler is a callback-based interface to + the + GSXMLParser + + which operates in a similar (though not identical) + manner to SAX. +
++ + +
++ + Each GSSAXHandler object is associated with a + GSXMLParser object. As parsing progresses, + the methods of the GSSAXHandler are invoked by the + parser, so the handler is able to deal with the + elements and entities being parsed. +
++ + +
++ + The callback methods in the GSSAXHandler class do + nothing - it is intended that you subclass + GSSAXHandler and override them. +
++ + +
++ + If you create a GSXMLParser passing
+nil
+ as the GSSAXHandler, the parser will parse data to + create a + GSXMLDocument + + instance which you can then examine as a whole + ... this is generally the preferred mechanism for + parsing as it permits the parser to validate + the parsed document againts a DTD, and your + software can then examine the document secure + in the knowledge that it contains the expected + structure. Use of a GSSAXHandler is + preferred for very large documents with + simple structure... in which case incremental + parsing is more efficient. ++ + +
+ Instance Variables +
+ Method summary ++
+- +handler
+- -attribute:value:
+- -attributeDecl:name:type:typeDefValue:defaultValue:
+- -cdataBlock:
+- -characters:
+- -comment:
+- -elementDecl:type:
+- -endDocument
+- -endElement:
+- -endElement:prefix:href:
+- -entityDecl:type:public:system:content:
+- -error:
+- -error:colNumber:lineNumber:
+- -externalSubset:externalID:systemID:
+- -fatalError:
+- -fatalError:colNumber:lineNumber:
+- -getEntity:
+- -getParameterEntity:
+- -globalNamespace:href:prefix:
+- -hasExternalSubset
+- -hasInternalSubset
+- -ignoreWhitespace:
+- -internalSubset:externalID:systemID:
+- -isStandalone
+- -lib
+- -loadEntity:at:
+- -namespaceDecl:href:prefix:
+- -notationDecl:public:system:
+- -parser
+- -processInstruction:data:
+- -reference:
+- -startDocument
+- -startElement:attributes:
+- -startElement:prefix:href:attributes:namespaces:
+- -unparsedEntityDecl:public:system:notationName:
+- -warning:
+- -warning:colNumber:lineNumber:
+
+++handler
+ + (GSSAXHandler*) handler;
++Availability: Not in OpenStep/MacOS-X+
++ + Create a new SAX handler. + ++
+++attribute: value:
+ - (void) attribute: (NSString*)name value: (NSString*)value;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Handle an attribute that has been read by the + parser. + +
+++attributeDecl: name: type: typeDefValue: defaultValue:
+ - (void) attributeDecl: (NSString*)nameElement name: (NSString*)name type: (NSInteger)type typeDefValue: (NSInteger)defType defaultValue: (NSString*)value;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
An attribute definition has been parsed. + +
+++cdataBlock:
+ - (void) cdataBlock: (NSData*)value;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Called when a cdata block has been parsed. + +
+++characters:
+ - (void) characters: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Receiving some chars from the parser. + +
+++comment:
+ - (void) comment: (NSString*)value;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
A comment has been parsed. + +
+++elementDecl: type:
+ - (void) elementDecl: (NSString*)name type: (NSInteger)type;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
An element definition has been parsed. + +
+++endDocument
+ - (void) endDocument;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Called when the document end has been + detected. + +
+++endElement:
+ - (void) endElement: (NSString*)elementName;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Called when a closing tag has been processed. + +
+++endElement: prefix: href:
+ - (void) endElement: (NSString*)elementName prefix: (NSString*)prefix href: (NSString*)href;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Called when a closing tag has been processed. + +
+++entityDecl: type: public: system: content:
+ - (void) entityDecl: (NSString*)name type: (NSInteger)type public: (NSString*)publicId system: (NSString*)systemId content: (NSString*)content;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
An entity definition has been parsed. + +
+++error:
+ - (void) error: (NSString*)e;
++Availability: Not in OpenStep/MacOS-X+
++ + Called when an error message needs to be output. + ++
+++error: colNumber: lineNumber:
+ - (void) error: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
++Availability: Not in OpenStep/MacOS-X+
++ + Called when an error message needs to be output. + ++
+++externalSubset: externalID: systemID:
+ - (BOOL) externalSubset: (NSString*)name externalID: (NSString*)externalID systemID: (NSString*)systemID;
++Availability: Not in OpenStep/MacOS-X+
++ + Called to find out whether there is an external + subset. + ++
+++fatalError:
+ - (void) fatalError: (NSString*)e;
++Availability: Not in OpenStep/MacOS-X+
++ + Called when a fatal error message needs to be + output. + ++
+++fatalError: colNumber: lineNumber:
+ - (void) fatalError: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
++Availability: Not in OpenStep/MacOS-X+
++ + Called when a fatal error message needs to be + output. + ++
+++getEntity:
+ - (void*) getEntity: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
++ + get an entity by name + ++
+++getParameterEntity:
+ - (void*) getParameterEntity: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
++ + get a parameter entity by name + ++
+++globalNamespace: href: prefix:
+ - (void) globalNamespace: (NSString*)name href: (NSString*)href prefix: (NSString*)prefix;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
An old global namespace has been parsed. + +
+++hasExternalSubset
+ - (NSInteger) hasExternalSubset;
++Availability: Not in OpenStep/MacOS-X+
++ + Called to find out whether there is an external + subset. + ++
+++hasInternalSubset
+ - (NSInteger) hasInternalSubset;
++Availability: Not in OpenStep/MacOS-X+
++ + Called to find out whether there is an internal + subset. + ++
+++ignoreWhitespace:
+ - (void) ignoreWhitespace: (NSString*)ch;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Receiving some ignorable whitespaces from the + parser. + +
+++internalSubset: externalID: systemID:
+ - (BOOL) internalSubset: (NSString*)name externalID: (NSString*)externalID systemID: (NSString*)systemID;
++Availability: Not in OpenStep/MacOS-X+
++ + Called to find out whether there is an internal + subset. + ++
+++isStandalone
+ - (NSInteger) isStandalone;
++Availability: Not in OpenStep/MacOS-X+
++ + Called to detemrine if the document is standalone. + ++
+++lib
+ - (void*) lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a pointer to the raw libxml data used by + this document.+
Only for use by libxml experts! + +
+++loadEntity: at:
+ - (NSString*) loadEntity: (NSString*)publicId at: (NSString*)location;
++Availability: Not in OpenStep/MacOS-X+
++ + Called to return the filename from which an entity + should be loaded. + ++
+++namespaceDecl: href: prefix:
+ - (void) namespaceDecl: (NSString*)name href: (NSString*)href prefix: (NSString*)prefix;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
An old global namespace has been parsed. + +
+++notationDecl: public: system:
+ - (void) notationDecl: (NSString*)name public: (NSString*)publicId system: (NSString*)systemId;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
What to do when a notation declaration has + been parsed. + +
+++parser
+ - (GSXMLParser*) parser;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the parser object with which this handler is + associated. This may occasionally be useful. + ++
+++processInstruction: data:
+ - (void) processInstruction: (NSString*)targetName data: (NSString*)PIdata;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
A processing instruction has been parsed. + +
+++reference:
+ - (void) reference: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Called when an entity reference is detected. + +
+++startDocument
+ - (void) startDocument;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Called when the document starts being + processed. + +
+++startElement: attributes:
+ - (void) startElement: (NSString*)elementName attributes: (NSMutableDictionary*)elementAttributes;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
Called when an opening tag has been + processed. + +
+++startElement: prefix: href: attributes: namespaces:
+ - (void) startElement: (NSString*)elementName prefix: (NSString*)prefix href: (NSString*)href attributes: (NSMutableDictionary*)elementAttributes namespaces: (NSMutableDictionary*)elementNamespaces;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ + Description forthcoming. + ++
+++unparsedEntityDecl: public: system: notationName:
+ - (void) unparsedEntityDecl: (NSString*)name public: (NSString*)publicId system: (NSString*)systemId notationName: (NSString*)notation;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ ++
What to do when an unparsed entity + declaration is parsed. + +
+++warning:
+ - (void) warning: (NSString*)e;
++Availability: Not in OpenStep/MacOS-X+
++ + Called when a warning message needs to be output. + ++
+++warning: colNumber: lineNumber:
+ - (void) warning: (NSString*)e colNumber: (NSInteger)colNumber lineNumber: (NSInteger)lineNumber;
++Availability: Not in OpenStep/MacOS-X+
++ + Called when a warning message needs to be output. + ++
+
+Instance Variables for GSSAXHandler Class
+isHtmlHandler
+ @protected BOOL isHtmlHandler;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+lib
+ @protected void* lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+parser
+ @protected GSXMLParser* parser;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSTreeSAXHandler class +
+GSTreeSAXHandler : GSSAXHandler
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + The default handler for parsing documents... this will + build a GSXMLDocument for you. This handler may not + currently be subclassed, though that capability may + be added at a later date. + ++ ++ Software documentation for the GSXMLAttribute class +
+GSXMLAttribute : GSXMLNode
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + A class wrapping attributes of an XML element node. + Generally when examining a GSXMLDocument, you need + not concern yourself with GSXMLAttribute objects as you + will probably use the + + [GSXMLNode -objectForKey:] + + + method to return the string value of any attribute you + are interested in. + ++ Method summary ++
+- -value
+
+++ +value
+ - (NSString*) value;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the string value of the attribute. + ++
++ Software documentation for the GSXMLDocument class +
+GSXMLDocument : NSObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++++
+- Conforms to:
+- NSCopying
++Availability: Not in OpenStep/MacOS-X+
++ + A GSXML document wraps the document structure of the + underlying libxml library. + ++
+ Instance Variables +
+ Method summary ++
+- +xsltTransformFile:stylesheet:
+- +xsltTransformFile:stylesheet:params:
+- +xsltTransformXml:stylesheet:
+- +xsltTransformXml:stylesheet:params:
+- -xsltTransform:
+- -xsltTransform:params:
+- +documentWithVersion:
+- -description
+- -encoding
+- -lib
+- -makeNodeWithNamespace:name:content:
+- -root
+- -setRoot:
+- -version
+- -writeToFile:atomically:
+- -writeToURL:atomically:
+
+++documentWithVersion:
+ + (GSXMLDocument*) documentWithVersion: (NSString*)version;
++Availability: Not in OpenStep/MacOS-X+
++ + Create a new document with the specified + version. + +++ id d = [GSXMLDocument documentWithVersion: @"1.0"]; + + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + [n1 makeComment: @" this is a comment "]; + [n1 makePI: @"pi1" content: @"this is a process instruction"]; + [n1 makeChildWithNamespace: nil name: @"key" content: @"Year Of Birth"]; + [n1 makeChildWithNamespace: nil name: @"integer" content: @"65"]; + [n1 makeChildWithNamespace: nil name: @"key" content: @"Pets Names"]; ++ + +
+++description
+ - (NSString*) description;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string representation of the document (ie + the XML) or+nil
if the document does not + have reasonable contents. + +
+++encoding
+ - (NSString*) encoding;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the name of the encoding for this document. + ++
+++lib
+ - (void*) lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a pointer to the raw libxml data used by + this document.+
Only for use by libxml experts! + +
+++makeNodeWithNamespace: name: content:
+ - (GSXMLNode*) makeNodeWithNamespace: (GSXMLNamespace*)ns name: (NSString*)name content: (NSString*)content;
++Availability: Not in OpenStep/MacOS-X+
++ + Creates a new node within the document. + +++ GSXMLNode *n1, *n2; + GSXMLDocument *d; + + d = [GSXMLDocument documentWithVersion: @"1.0"]; + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; ++ + +
+++root
+ - (GSXMLNode*) root;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the root node of the document. + ++
+++setRoot:
+ - (GSXMLNode*) setRoot: (GSXMLNode*)node;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the root of the document.+
NB. The + node must have been created as part of the + receiving document (eg. using the + -makeNodeWithNamespace:name:content: + method). + +
+++version
+ - (NSString*) version;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the version string for this document. + ++
+++writeToFile: atomically:
+ - (BOOL) writeToFile: (NSString*)filename atomically: (BOOL)useAuxilliaryFile;
++Availability: Not in OpenStep/MacOS-X+
++ + Uses the + + -description + + + method to produce a string representation of the + document and writes that to filename. + ++
+++writeToURL: atomically:
+ - (BOOL) writeToURL: (NSURL*)url atomically: (BOOL)useAuxilliaryFile;
++Availability: Not in OpenStep/MacOS-X+
++ + Uses the + + -description + + + method to produce a string representation of the + document and writes that to url. + ++
+
+Instance Variables for GSXMLDocument Class
+_ownsLib
+ @protected BOOL _ownsLib;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_parent
+ @protected id _parent;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+lib
+ @protected void* lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSXMLNamespace class +
+GSXMLNamespace : NSObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++++
+- Conforms to:
+- NSCopying
++Availability: Not in OpenStep/MacOS-X+
++ + A GSXMLNamespace object wraps part of the document + structure of the underlying libxml library. + ++
+ Instance Variables +
+ Method summary ++
+- +descriptionFromType:
+- +typeFromDescription:
+- -href
+- -lib
+- -next
+- -prefix
+- -type
+- -typeDescription
+
+++descriptionFromType:
+ + (NSString*) descriptionFromType: (NSInteger)type;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the string representation of the specified + numeric type. + ++
+++typeFromDescription:
+ + (NSInteger) typeFromDescription: (NSString*)desc;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the numeric constant value for the namespace + type named. This method is inefficient, so the + returned value should be saved for re-use later. + The possible values are - + +++
+ + +- + XML_LOCAL_NAMESPACE +
+
+++href
+ - (NSString*) href;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the namespace reference + ++
+++lib
+ - (void*) lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a pointer to the raw libxml data used by + this document.+
Only for use by libxml experts! + +
+++next
+ - (GSXMLNamespace*) next;
++Availability: Not in OpenStep/MacOS-X+
++ + return the next namespace. + ++
+++prefix
+ - (NSString*) prefix;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the namespace prefix. + ++
+++type
+ - (NSInteger) type;
++Availability: Not in OpenStep/MacOS-X+
++ + Return type of namespace + ++
+++typeDescription
+ - (NSString*) typeDescription;
++Availability: Not in OpenStep/MacOS-X+
++ + Return string representation of the type of the + namespace. + ++
+
+Instance Variables for GSXMLNamespace Class
+_parent
+ @protected id _parent;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+lib
+ @protected void* lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSXMLNode class +
+GSXMLNode : NSObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++++
+- Conforms to:
+- NSCopying
++Availability: Not in OpenStep/MacOS-X+
++ + A GSXMLNode object wraps part of the document structure of + the underlying libxml library. It may have a parent, + siblings, and children. + ++
+ Instance Variables +
+ Method summary ++
+- +descriptionFromType:
+- +typeFromDescription:
+- -attributes
+- -content
+- -description
+- -document
+- -escapedContent
+- -firstAttribute
+- -firstChild
+- -firstChildElement
+- -isElement
+- -isText
+- -lib
+- -makeAttributeWithName:value:
+- -makeChildWithNamespace:name:content:
+- -makeComment:
+- -makeNamespaceHref:prefix:
+- -makePI:content:
+- -makeText:
+- -name
+- -namespace
+- -namespaceDefinitions
+- -next
+- -nextElement
+- -objectForKey:
+- -parent
+- -previous
+- -previousElement
+- -propertiesAsDictionaryWithKeyTransformationSel:
+- -setNamespace:
+- -setObject:forKey:
+- -type
+- -typeDescription
+
+++descriptionFromType:
+ + (NSString*) descriptionFromType: (NSInteger)type;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the string constant value for the node + type given. + ++
+++typeFromDescription:
+ + (NSInteger) typeFromDescription: (NSString*)desc;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Converts a node type string to a numeric + constant which can be compared with the result + of the -type + + method to determine what sort of node an instance + is. Because this method is quite inefficient, you + should cache the numeric type returned and re-use + the cached value. +
++ + The node type names are - + +
+
+ + +- + XML_ELEMENT_NODE +
+- + XML_ATTRIBUTE_NODE +
+- + XML_TEXT_NODE +
+- + XML_CDATA_SECTION_NODE +
+- + XML_ENTITY_REF_NODE +
+- + XML_ENTITY_NODE +
+- + XML_PI_NODE +
+- + XML_COMMENT_NODE +
+- + XML_DOCUMENT_NODE +
+- + XML_DOCUMENT_TYPE_NODE +
+- + XML_DOCUMENT_FRAG_NODE +
+- + XML_NOTATION_NODE +
+- + XML_HTML_DOCUMENT_NODE +
+- + XML_DTD_NODE +
+- + XML_ELEMENT_DECL +
+- + XML_ATTRIBUTE_DECL +
+- + XML_ENTITY_DECL +
+
+++attributes
+ - (NSDictionary*) attributes;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Return attributes and values as a dictionary +
++ + +
+++content
+ - (NSString*) content;
++Availability: Not in OpenStep/MacOS-X+
++ + Return node content as a string. This should return + meaningful information for text nodes and for + entity nodes containing only text nodes.+
If + entity substitution was not enabled during parsing, + an element containing text may actually contain both + text nodes and entity reference nodes, in this case + you should not use this method to get the content of + the element, but should examine the child nodes of the + element individually and perform any entity + reference you need to do explicitly.
NB. + There are five standard entities which are + automatically substituted into the content + text rather than appearing as entity nodes in their + own right. These are '<', '>', ''', '"' + and '&'. If you with to receive content in which + these characters are represented by the original + entity escapes, you need to use the + + -escapedContent + + + method. + +
+++description
+ - (NSString*) description;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string representation of the node and all + its children (ie the XML text) or+nil
if + the node does not have reasonable contents. + +
+++document
+ - (GSXMLDocument*) document;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the document in which this node exists. + ++
+++escapedContent
+ - (NSString*) escapedContent;
++Availability: Not in OpenStep/MacOS-X+
++ + This performs the same function as the + + -content + + + method, but retains escaped character information + (the standard five entities <, >, + ', ", and &) which + are normally replaced with their standard equivalents + (<, >, ', ", and &). + ++
+++firstAttribute
+ - (GSXMLAttribute*) firstAttribute;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the first attribute in this node. + ++
+++firstChild
+ - (GSXMLNode*) firstChild;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the first child node of this node. + +++ - (GSXMLNode*) elementRecursive: (GSXMLNode*)node + { + while (node != nil) + { + if ([node type] == XML_ELEMENT_NODE) + { + return node; + } + if ([node firstChild] != nil) + { + node = [self elementRecursive: [node firstChild]]; + } + else + { + node = [node next]; + } + } + return node; + } ++ + +
+++firstChildElement
+ - (GSXMLNode*) firstChildElement;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the first child element of this node. If you + wish to step through all children of the node + (including non-element nodes) you should use the + + -firstChild + + + method instead. + ++
+++isElement
+ - (BOOL) isElement;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method, equivalent to calling + + -type + + + and comparing it with the result of passing + "XML_ELEMENT_NODE" to + + +typeFromDescription: + + + (but faster). + ++
+++isText
+ - (BOOL) isText;
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience method, equivalent to calling + + -type + + + and comparing it with the result of passing + "XML_TEXT_NODE" to + + +typeFromDescription: + + + (but faster). + ++
+++lib
+ - (void*) lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a pointer to the raw libxml data used by + this document.+
Only for use by libxml experts! + +
+++makeAttributeWithName: value:
+ - (GSXMLAttribute*) makeAttributeWithName: (NSString*)name value: (NSString*)value;
++Availability: Not in OpenStep/MacOS-X+
++ + Create and return an attribute (unless the named + attribute already exists, in which case we update + them value of the existing attribute and + return it. + ++
+++makeChildWithNamespace: name: content:
+ - (GSXMLNode*) makeChildWithNamespace: (GSXMLNamespace*)ns name: (NSString*)name content: (NSString*)content;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Creation of a new child element, added at the + end of parent children list. ns and + content parameters are optional (may be +
+nil
). If content is non +nil
, a child list containing the + TEXTs and ENTITY_REFs node will be created. Return + previous node. ++ + +
+ + GSXMLNode *n1, *n2; + GSXMLDocument *d, *d1; + + d = [GSXMLDocument documentWithVersion: @"1.0"]; + [d setRoot: [d makeNodeWithNamespace: nil + name: @"plist" + content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil + name: @"dict" + content: nil]; + [n1 makeChildWithNamespace: nil name: @"key" content: @"Year Of Birth"]; + [n1 makeChildWithNamespace: nil name: @"integer" content: @"65"]; + + [n1 makeChildWithNamespace: nil name: @"key" content: @"Pets Names"]; + [n1 makeChildWithNamespace: nil name: @"array" content: nil]; + ++ + +
+++makeComment:
+ - (GSXMLNode*) makeComment: (NSString*)content;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new comment element, added at the + end of parent children list. + +++ d = [GSXMLDocument documentWithVersion: @"1.0"]; + + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + [n1 makeComment: @" this is a comment "]; ++ + +
+++makeNamespaceHref: prefix:
+ - (GSXMLNamespace*) makeNamespaceHref: (NSString*)href prefix: (NSString*)prefix;
++Availability: Not in OpenStep/MacOS-X+
++ + Create a namespace attached to this node. + ++
+++makePI: content:
+ - (GSXMLNode*) makePI: (NSString*)name content: (NSString*)content;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new process instruction element, + added at the end of parent children list. + +++ d = [GSXMLDocument documentWithVersion: @"1.0"]; + + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + [n1 makeComment: @" this is a comment "]; + [n1 makePI: @"pi1" content: @"this is a process instruction"]; ++ + +
+++makeText:
+ - (GSXMLNode*) makeText: (NSString*)content;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new text element, added at the end + of parent children list. + +++ d = [GSXMLDocument documentWithVersion: @"1.0"]; + + [d setRoot: [d makeNodeWithNamespace: nil name: @"plist" content: nil]]; + [[d root] setObject: @"0.9" forKey: @"version"]; + n1 = [[d root] makeChildWithNamespace: nil name: @"dict" content: nil]; + [n1 makeText: @" this is a text "]; ++ + +
+++name
+ - (NSString*) name;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the node-name + ++
+++namespace
+ - (GSXMLNamespace*) namespace;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the namespace of the node. + ++
+++namespaceDefinitions
+ - (GSXMLNamespace*) namespaceDefinitions;
++Availability: Not in OpenStep/MacOS-X+
++ + Return namespace definitions for the node + ++
+++next
+ - (GSXMLNode*) next;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the next node at this level. This method can + return any type of node, and it may be more + convenient to use the + + -nextElement + + + node if you are parsing a document where you wish to + ignore non-element nodes such as whitespace text + separating elements. + ++
+++nextElement
+ - (GSXMLNode*) nextElement;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the next element node, skipping past any + other node types (such as text nodes). If there is no + element node to be returned, this method returns ++nil
.
NB. This method is not + available in java, as the method name conflicts + with that of java's Enumerator class. + +
+++objectForKey:
+ - (NSString*) objectForKey: (NSString*)key;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the attribute value for the specified + key. + ++
+++parent
+ - (GSXMLNode*) parent;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the parent of this node. + ++
+++previous
+ - (GSXMLNode*) previous;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the previous node at this level. + ++
+++previousElement
+ - (GSXMLNode*) previousElement;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the previous element node at this level. ++
NB. This method is not available in java, as + the method name conflicts with that of java's + Enumerator class. + +
+++propertiesAsDictionaryWithKeyTransformationSel:
+ - (NSMutableDictionary*) propertiesAsDictionaryWithKeyTransformationSel: (SEL)keyTransformSel;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Return attributes and values as a dictionary, but + applies the specified selector to each key before + adding the key and value to the dictionary. The + selector must be a method of NSString taking no + arguments and returning an object suitable for + use as a dictionary key. +
++ + +
++ + This method exists for the use of GSWeb... it is + probably not of much use elsewhere. +
++ + +
+++setNamespace:
+ - (void) setNamespace: (GSXMLNamespace*)space;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the namespace of the receiver to the value + specified.+
Supplying anil
+ namespace removes any namespace previously set or + any namespace that the node inherited from a parent + when it was created. + +
+++setObject: forKey:
+ - (void) setObject: (NSString*)value forKey: (NSString*)key;
++Availability: Not in OpenStep/MacOS-X+
++ + Set (or reset) an attribute carried by a node. + +++ [n1 setObject: @"prop1" forKey: @"name1"]; + [n1 setObject: @"prop2" forKey: @"name2"]; + [n1 setObject: @"prop3" forKey: @"name3"]; ++ + +
+++type
+ - (NSInteger) type;
++Availability: Not in OpenStep/MacOS-X+
++ + Return node-type. The most efficient way of testing + node types is to use this method and compare the + return value with a value you previously obtained + using the + + +typeFromDescription: + + + method. + ++
+++typeDescription
+ - (NSString*) typeDescription;
++Availability: Not in OpenStep/MacOS-X+
++ + Return node type as a string. + ++
+
+Instance Variables for GSXMLNode Class
+_parent
+ @protected id _parent;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+lib
+ @protected void* lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSXMLParser class +
+GSXMLParser : NSObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + The XML parser object is the pivotal part of parsing an + XML document - it will either build a tree representing + the document (if initialized without a GSSAXHandler), + or will cooperate with a GSSAXHandler object to provide + parsing without the overhead of building a tree. +
++ + +
++ + The parser may be initialized with an input source (in + which case it will expect to be asked to parse the + entire input in a single operation), or without. If + it is initialised without an input source, incremental + parsing can be done by feeding successive parts of + the XML document into the parser as NSData objects. +
++ + +
+ Instance Variables +
+ Method summary ++
+- +loadEntity:at:
+- +parser
+- +parserWithContentsOfFile:
+- +parserWithContentsOfURL:
+- +parserWithData:
+- +parserWithSAXHandler:
+- +parserWithSAXHandler:withContentsOfFile:
+- +parserWithSAXHandler:withContentsOfURL:
+- +parserWithSAXHandler:withData:
+- +setDTDs:
+- +xmlEncodingStringForStringEncoding:
+- -abortParsing
+- -columnNumber
+- -doValidityChecking:
+- -document
+- -errNo
+- -getWarnings:
+- -initWithSAXHandler:
+- -initWithSAXHandler:withContentsOfFile:
+- -initWithSAXHandler:withContentsOfURL:
+- -initWithSAXHandler:withData:
+- -keepBlanks:
+- -lineNumber
+- -messages
+- -parse
+- -parse:
+- -publicID
+- -saveMessages:
+- -substituteEntities:
+- -systemID
+
+++loadEntity: at:
+ + (NSString*) loadEntity: (NSString*)publicId at: (NSString*)location;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + This method controls the loading of external + entities into the system. If it returns an empty + string, the entity is not loaded. If it returns a + filename, the entity is loaded from that file. + If it returns
+nil
, the default entity + loading mechanism is used. ++ + +
++ + The default entity loading mechanism is to construct + a file name from the locationURL, by replacing all path + separators with underscores, then attempt to + locate that file in the DTDs resource directory of + the main bundle, and all the standard system + locations. +
++ + +
++ + As a special case, the default loader examines the + publicID and if it is a GNUstep DTD, the loader + constructs a special name from the ID (by + replacing dots with underscores and spaces with + hyphens) and looks for a file with that name and + a '.dtd' extension in the GNUstep bundles. +
++ + +
++ + NB. This method will only be called if there is no + SAX handler in use, or if the corresponding method in + the SAX handler returns
+nil
. ++ + +
+++parser
+ + (GSXMLParser*) parser;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new Parser (for incremental parsing) + by calling + + -initWithSAXHandler: + + + ++
+++parserWithContentsOfFile:
+ + (GSXMLParser*) parserWithContentsOfFile: (NSString*)path;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new Parser by calling + -initWithSAXHandler:withContentsOfFile: + + +++ GSXMLParser *p = [GSXMLParser parserWithContentsOfFile: @"macos.xml"]; + + if ([p parse]) + { + [[p document] dump]; + } + else + { + printf("error parse file\n"); + } ++ + +
+++parserWithContentsOfURL:
+ + (GSXMLParser*) parserWithContentsOfURL: (NSURL*)url;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new Parser by calling + -initWithSAXHandler:withContentsOfURL: + + ++
+++parserWithData:
+ + (GSXMLParser*) parserWithData: (NSData*)data;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new Parser by calling + + -initWithSAXHandler:withData: + + + ++
+++parserWithSAXHandler:
+ + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Creation of a new Parser by calling + + -initWithSAXHandler: + + +
++ + +
++ + If the handler object supplied is +
+nil
, the parser will build a tree + representing the parsed file rather than + attempting to get the handler to + deal with the parsed elements and entities. ++ + +
+++parserWithSAXHandler: withContentsOfFile:
+ + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withContentsOfFile: (NSString*)path;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new Parser by calling + -initWithSAXHandler:withContentsOfFile: + + +++ NSAutoreleasePool *arp = [NSAutoreleasePool new]; + GSSAXHandler *h = [GSDebugSAXHandler handler]; + GSXMLParser *p = [GSXMLParser parserWithSAXHandler: h + withContentsOfFile: @"macos.xml"]; + if ([p parse]) + { + printf("ok\n"); + } + RELEASE(arp); ++ + +
+++parserWithSAXHandler: withContentsOfURL:
+ + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withContentsOfURL: (NSURL*)url;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new Parser by calling + -initWithSAXHandler:withContentsOfURL: + + ++
+++parserWithSAXHandler: withData:
+ + (GSXMLParser*) parserWithSAXHandler: (GSSAXHandler*)handler withData: (NSData*)data;
++Availability: Not in OpenStep/MacOS-X+
++ + Creation of a new Parser by calling + + -initWithSAXHandler:withData: + + + ++
+++setDTDs:
+ + (void) setDTDs: (NSString*)aPath;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets a directory in which to look for DTDs when + resolving external references. Can be used whjen + DTDs have not been installed in the normal locatioons. + ++
+++xmlEncodingStringForStringEncoding:
+ + (NSString*) xmlEncodingStringForStringEncoding: (NSStringEncoding)encoding;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the name of the string encoding + (for XML) to use for the specified OpenStep + encoding. + ++
+++abortParsing
+ - (void) abortParsing;
++Availability: Not in OpenStep/MacOS-X+
++ + If called by a SAX callback routine, this method will + terminate the parsiong process. + ++
+++columnNumber
+ - (NSInteger) columnNumber;
++Availability: Not in OpenStep/MacOS-X+
++ + If executed during a parse operation, returns the + current column number. + ++
+++doValidityChecking:
+ - (BOOL) doValidityChecking: (BOOL)yesno;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets whether the document needs to be validated. + ++
+++document
+ - (GSXMLDocument*) document;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the document produced as a result of parsing + data. + ++
+++errNo
+ - (NSInteger) errNo;
++Availability: Not in OpenStep/MacOS-X+
++ + Return error code for last parse operation. + ++
+++getWarnings:
+ - (BOOL) getWarnings: (BOOL)yesno;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets whether warnings are generated. + ++
+++initWithSAXHandler:
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler;
++Availability: Not in OpenStep/MacOS-X+
+This is a designated initialiser for the class.
++ + + +++ + Initialisation of a new Parser with SAX + handler. +
++ + +
++ + If the handler object supplied is +
+nil
, the parser will use an instance + of + GSTreeSAXHandler + + to build a tree representing the parsed file. This + tree will then be available (via the + + -document + + + method) as a + GSXMLDocument +on completion of parsing.+ + +
++ + The source for the parsing process is not + specified - so parsing must be done + incrementally by feeding data to the + parser. +
++ + +
+++initWithSAXHandler: withContentsOfFile:
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler withContentsOfFile: (NSString*)path;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Initialisation of a new Parser with SAX + handler (if not
+nil
) by + calling + + -initWithSAXHandler: + + ++ + +
++ + Sets the input source for the parser to be the + specified file - so parsing of the entire file + will be performed rather than incremental parsing. +
++ + +
+++initWithSAXHandler: withContentsOfURL:
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler withContentsOfURL: (NSURL*)url;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Initialisation of a new Parser with SAX + handler (if not
+nil
) by + calling + + -initWithSAXHandler: + + ++ + +
++ + Sets the input source for the parser to be the + specified URL - so parsing of the entire + document will be performed rather than + incremental parsing. +
++ + +
+++initWithSAXHandler: withData:
+ - (id) initWithSAXHandler: (GSSAXHandler*)handler withData: (NSData*)data;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Initialisation of a new Parser with SAX + handler (if not
+nil
) by + calling + + -initWithSAXHandler: + + ++ + +
++ + Sets the input source for the parser to be the + specified data object (which must + contain an XML document), so parsing of the + entire document will be performed rather than + incremental parsing. +
++ + +
+++keepBlanks:
+ - (BOOL) keepBlanks: (BOOL)yesno;
++Availability: Not in OpenStep/MacOS-X+
++ + Set and return the previous value for blank text nodes + support. ignorableWhitespace nodes are only + generated when running the parser in validating + mode and when the current element doesn't allow CDATA + or mixed content. + ++
+++lineNumber
+ - (NSInteger) lineNumber;
++Availability: Not in OpenStep/MacOS-X+
++ + If executed during a parse operation, returns the + current line number. + ++
+++messages
+ - (NSString*) messages;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the string into which warning and error + messages are saved, or+nil
if they + are being written to stderr. + +
+++parse
+ - (BOOL) parse;
++Availability: Not in OpenStep/MacOS-X+
++ + Parse source. Return+YES
if parsed, + otherwiseNO
. This method should be + called once to parse the entire document. + ++ GSXMLParser *p = [GSXMLParser parserWithContentsOfFile:@"macos.xml"]; + + if ([p parse]) + { + [[p doc] dump]; + } + else + { + printf("error parse file\n"); + } ++ + +
+++parse:
+ - (BOOL) parse: (NSData*)data;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Pass data to the parser for incremental + parsing. This method should be called many + times, with each call passing another block of + data from the same document. After the + whole of the document has been parsed, the method + should be called with an empty or
+nil
+ data object to indicate end of parsing. + On this final call, the return value indicates whether + the document was valid or not. ++ + +
+ GSXMLParser *p = [GSXMLParser parserWithSAXHandler: nil source: nil]; + + while ((data = getMoreData()) != nil) + { + if ([p parse: data] == NO) + { + NSLog(@"parse error"); + } + } + // Do something with document parsed + [p parse: nil]; // Completed parsing of document. ++ + +
+++publicID
+ - (NSString*) publicID;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the public ID of the document being parsed. + ++
+++saveMessages:
+ - (void) saveMessages: (BOOL)yesno;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets up (or removes) a mutable string to which error + and warning messages are saved. Using an argument of ++NO
will cause these messages to be + written to stderr (the default).
NB. A SAX + handler which overrides the error and warning + logging messages may stop this mechanism operating. + +
+++substituteEntities:
+ - (BOOL) substituteEntities: (BOOL)yesno;
++Availability: Not in OpenStep/MacOS-X+
++ + Set and return the previous value for entity support. + Initially the parser always keeps entity + references instead of substituting entity values + in the output. + ++
+++systemID
+ - (NSString*) systemID;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the system ID of the document being parsed. + ++
+
+Instance Variables for GSXMLParser Class
+lib
+ @protected void* lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+messages
+ @protected NSMutableString* messages;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+saxHandler
+ @protected GSSAXHandler* saxHandler;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+src
+ @protected id src;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ ++ Software documentation for the GSXMLRPC class +
+GSXMLRPC : NSObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++++
+- Conforms to:
+- NSURLHandleClient
++Availability: Not in OpenStep/MacOS-X+
++ + + ++ Method summary ++ + The GSXMLRPC class provides methods for constructing + and parsing XMLRPC method call and response documents + ... so that calls may be constructed of standard + objects. +
++ + +
++ + The correspondence between XMLRPC values and + Objective-C objects is as follows - +
++ + +
+
+ + + +- + + i4 (or + int) is an + NSNumber + + other than a real/float or boolean. + +
+- + + boolean is an + NSNumber + + created as a BOOL. + +
+- + + string is an + NSString + + object. + +
+- + + double is an + NSNumber + + created as a float or + double. + +
+- + + dateTime.iso8601 is an + NSDate + + object. + +
+- + + base64 is an + NSData + + object. + +
+- + + array is an + NSArray + + object. + +
+- + + struct is an + NSDictionary +object. +
++ + If you attempt to use any other type of + object in the construction of an + XMLRPC document, the + [NSObject -description] + method of that object will be used to create a striong, and the resulting object will be encoded as an XMLRPC string element. +
++ + +
++ + In particular, the names of members in a + struct must be strings, so if + you provide an + NSDictionary +object to represent a struct the keys of the dictionary will be converted to strings if necessary.
++ + +
++ + The class also provides a method for + making a synchronous XMLRPC method + call (with timeout), or an + asynchronous call in which + the call completion is handled by a + delegate. +
++ + +
++ + You may also use the class to + implement an XMLRPC server, by + calling the + -parseMethod:params: + method to parse the data POSTed to your server, and -buildResponseWithParams: + (or -buildResponseWithFaultCode:andString:) to produce the data to be sent back to the client. +
++ + +
++ + In order to simply make a synchronous + XMLRPC call to a server, all you + need to do is write code like: +
++ + +
+ GSXMLRPC *server = [[GSXMLRPC alloc] initWithURL: @"http://server/path"]; + id result = [server makeMethodCall: name params: p timeout: 30]; ++ + + ++ + Saying that you want to call the specified method + ('name') on the server, passing the parameters + ('p') and with a 30 second timeout.
+
If there + is a network or http-level error or a timeout, the + result will be an error string, otherwise it will be + an array (on success) or a dictionary containing the + fault details. ++ + +
+
+- -completedXMLRPC:
+- -URLHandle:resourceDataDidBecomeAvailable:
+- -URLHandle:resourceDidFailLoadingWithReason:
+- -URLHandleResourceDidBeginLoading:
+- -URLHandleResourceDidCancelLoading:
+- -URLHandleResourceDidFinishLoading:
+- -buildMethod:params:
+- -buildMethodCall:params:
+- -buildResponseWithFaultCode:andString:
+- -buildResponseWithParams:
+- -compact
+- -delegate
+- -initWithURL:
+- -initWithURL:certificate:privateKey:password:
+- -makeMethodCall:params:timeout:
+- -parseMethod:params:
+- -parseResponse:params:
+- -result
+- -sendMethodCall:params:timeout:
+- -setCompact:
+- -setDebug:
+- -setDelegate:
+- -setTimeZone:
+- -timeZone
+- -timeout:
+
+++URLHandle: resourceDataDidBecomeAvailable:
+ - (void) URLHandle: (NSURLHandle*)sender resourceDataDidBecomeAvailable: (NSData*)newData;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ + Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++
+++URLHandle: resourceDidFailLoadingWithReason:
+ - (void) URLHandle: (NSURLHandle*)sender resourceDidFailLoadingWithReason: (NSString*)reason;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ + Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++
+++URLHandleResourceDidBeginLoading:
+ - (void) URLHandleResourceDidBeginLoading: (NSURLHandle*)sender;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ + Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++
+++URLHandleResourceDidCancelLoading:
+ - (void) URLHandleResourceDidCancelLoading: (NSURLHandle*)sender;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ + Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++
+++URLHandleResourceDidFinishLoading:
+ - (void) URLHandleResourceDidFinishLoading: (NSURLHandle*)sender;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ + Allows GSXMLRPC to act as a client of NSURLHandle. + Internal use only. + ++
+++buildMethod: params:
+ - (NSData*) buildMethod: (NSString*)method params: (NSArray*)params;
++Availability: Not in OpenStep/MacOS-X+
++ + Given a method name and an array of + parameters, this method constructs + the XML document for the corresponding XMLRPC call and + returns the document as an NSData object containing + UTF-8 text.+
The params array may be + empty ornil
if there are no parameters + to be passed.
The method returns +nil
if passed an invalid + method name (a method name may + contain any of the ascii alphanumeric characters + and underscore, fullstop, colon, or slash).
This + method is used internally when sending an + XMLRPC method call to a remote system, + but you can also call it yourself. + +
+++buildMethodCall: params:
+ - (NSString*) buildMethodCall: (NSString*)method params: (NSArray*)params;
++Availability: Not in OpenStep/MacOS-X+
++ + Given a method name and an array of + parameters, this method constructs + the XML document for the corresponding XMLRPC call and + returns the document as a string.+
The + params array may be empty or +nil
if there are no parameters to be + passed.
The method returns +nil
if passed an invalid + method name (a method name may + contain any of the ascii alphanumeric characters + and underscore, fullstop, colon, or slash).
+ +
+++buildResponseWithFaultCode: andString:
+ - (NSString*) buildResponseWithFaultCode: (NSInteger)code andString: (NSString*)s;
++Availability: Not in OpenStep/MacOS-X+
++ + Constructs an XML document for an XMLRPC fault + response with the specified code and + string. The resulting document is returned as a + string.+
This method is intended for use by + applications acting as XMLRPC servers. + +
+++buildResponseWithParams:
+ - (NSString*) buildResponseWithParams: (NSArray*)params;
++Availability: Not in OpenStep/MacOS-X+
++ + Builds an XMLRPC response with the specified array + of parameters and returns the document as a string. ++
The params array may be empty or +nil
if there are no parameters to be + returned (an empty params element will + be created).
This method is intended for use by + applications acting as XMLRPC servers. + +
+++compact
+ - (BOOL) compact;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the value set by a prior call to + + -setCompact: + + + (or+NO
... the default). + +
+++delegate
+ - (id) delegate;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the delegate previously set by the + + -setDelegate: + + + method.+
The delegate handles completion of + asynchronous method calls to the URL specified + when the receiver was initialised (if any). + +
+++initWithURL:
+ - (id) initWithURL: (NSString*)url;
++Availability: Not in OpenStep/MacOS-X+
++ + Initialise the receiver to make XMLRPC calls to + the specified URL.+
This method just calls + -initWithURL:certificate:privateKey:password: + withnil
arguments for the SSL credentials. + +
+++initWithURL: certificate: privateKey: password:
+ - (id) initWithURL: (NSString*)url certificate: (NSString*)cert privateKey: (NSString*)pKey password: (NSString*)pwd;
++Availability: Not in OpenStep/MacOS-X+
+This is a designated initialiser for the class.
++ + Initialise the receiver to make XMLRPC calls to + the specified url and (optionally) with the + specified SSL parameters.+
The + url argument may benil
, in + which case the receiver will be unable to make XMLRPC + calls, but can be used to parse incoming requests + and build responses.
If the SSL credentials are + non-nil, connections to the remote server will be + authenticated using the supplied certificate + so that the remote system knows who is contacting it. + +
+++makeMethodCall: params: timeout:
+ - (id) makeMethodCall: (NSString*)method params: (NSArray*)params timeout: (NSInteger)seconds;
++Availability: Not in OpenStep/MacOS-X+
++ + Calls + + -sendMethodCall:params:timeout: + + + and waits for the response.+
Returns the response + parameters (an array), the response fault (a + dictionary), or a failure reason (a string). + +
+++parseMethod: params:
+ - (NSString*) parseMethod: (NSData*)request params: (NSMutableArray*)params;
++Availability: Not in OpenStep/MacOS-X+
++ + Parses XML data containing an XMLRPC method call. ++
Returns the name of the method call.
+ Empties, and then places the method parameters (if + any) in the params argument.
NB. Any + containers (arrays or dictionaries) in the + parsed parameters will be mutable, so you can modify + this data structure as you like.
Raises an + exception if parsing fails.
This method is + intended for the use of XMLRPC server + applications. + +
+++parseResponse: params:
+ - (NSDictionary*) parseResponse: (NSData*)resp params: (NSMutableArray*)params;
++Availability: Not in OpenStep/MacOS-X+
++ + Parses XML data containing an XMLRPC method + response.+
Returnsnil
for + success, the fault dictionary on failure.
+ Places the response parameters (if any) in the + params argument.
NB. Any containers + (arrays or dictionaries) in the parsed parameters + will be mutable, so you can modify this data structure + as you like.
Raises an exception if parsing + fails.
Used internally when making a method + call to a remote server. + +
+++result
+ - (id) result;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the result of the last method call, or ++nil
if there has been no method call or + one is in progress.
The result may be one of - + ++
+ + NB. Any containers (arrays or dictionaries) in the + parsed parameters of a success response will be + mutable, so you can modify this data structure as + you like. + +- + + A mutable array... the parameters of a success + response. + +
+- + + A dictionary... containing a fault response. + +
+- + + A string... describing a low-level failure (eg. + timeout). + +
+
+++sendMethodCall: params: timeout:
+ - (BOOL) sendMethodCall: (NSString*)method params: (NSArray*)params timeout: (NSInteger)seconds;
++Availability: Not in OpenStep/MacOS-X+
++ + Send an asynchronous XMLRPC method call + with the specified timeout.+
A delegate should + have been set to handle the result of this call, but + if one was not set the state of the asynchronous call + may be polled by calling the + + -result + + + method, which will returnnil
+ as long as the call has not completed. +
The call may be cancelled by calling the + + -timeout: + + + method
This method + returnsYES
if the call was started, +NO
if it could not be started (eg + because another call is in progress or because of + bad arguments).
NB. For the asynchronous + operation to proceed, the current + NSRunLoop + + must be run. + +
+++setCompact:
+ - (void) setCompact: (BOOL)flag;
++Availability: Not in OpenStep/MacOS-X+
++ + Specify whether to generate compact XML (omit + indentation and other white space and omit + <string> element markup).+
+ Compact representation saves some space (can be + important when sent over slow/low bandwidth + connections), but sacrifices readability. + +
+++setDebug:
+ - (void) setDebug: (BOOL)flag;
++Availability: Not in OpenStep/MacOS-X+
++ + Specify whether to perform debug trace on I/O + ++
+++setDelegate:
+ - (void) setDelegate: (id)aDelegate;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the delegate object which will receive callbacks + when an XMLRPC call completes.+
NB. this + delegate is not retained, and should be + removed before it is deallocated (call + + -setDelegate: + + + again with anil
argument to remove the + delegate). + +
+++setTimeZone:
+ - (void) setTimeZone: (NSTimeZone*)timeZone;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the time zone for use when sending/receiving + date/time values.+
The XMLRPC specification + says that timezone is server dependent so you will + need to set it according to the server you are + connecting to.
If this is not set, UCT is + assumed. + +
+++timeZone
+ - (NSTimeZone*) timeZone;
++Availability: Not in OpenStep/MacOS-X+
++ + Return the time zone currently set. + ++
+++ +timeout:
+ - (void) timeout: (NSTimer*)t;
++Availability: Not in OpenStep/MacOS-X+
++ + Handles timeouts, passing information to delegate + ... you don't need to call this method, but you + may call it in order to cancel an + asynchronous request as if it had timed out. + ++
++ Software documentation for the GSXPathBoolean class +
+GSXPathBoolean : GSXPathObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + For XPath queries returning true/false. + ++ Method summary ++
+- -booleanValue
+
+++ +booleanValue
+ - (BOOL) booleanValue;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the the value of the receiver... YES/NO, + true/false. + ++
++ Software documentation for the GSXPathContext class +
+GSXPathContext : NSObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Use of the GSXPathContext class is simple... you just + need to look up xpath to learn the syntax of xpath + expressions, then you can apply those + expressions to a context to retrieve data from + a document. +
++ + +
+ GSXMLParser *p = [GSXMLParser parserWithContentsOfFile: @"xp.xml"]; + + if ([p parse]) + { + GSXMLDocument *d = [p document]; + GSXPathContext *c = [[GSXPathContext alloc] initWithDocument: document]; + GSXPathString *result = [c evaluateExpression: @"string(/body/text())"]; + + GSPrintf(stdout, @"Got %@", [result stringValue]); + } + else + { + GSPrintf(stderr, "error parsing file\n"); + } ++ + +
+ Instance Variables +
+ Method summary + +
+++evaluateExpression:
+ - (GSXPathObject*) evaluateExpression: (NSString*)XPathExpression;
++Availability: Not in OpenStep/MacOS-X+
++ + Evaluates the supplied expression and returns the + resulting node or node set. If the expression is + invalid, returns+nil
. + +
+++initWithDocument:
+ - (id) initWithDocument: (GSXMLDocument*)d;
++Availability: Not in OpenStep/MacOS-X+
++ + Initialises the receiver as an xpath parser for + the supplied document. + ++
+++registerNamespaceWithPrefix: href:
+ - (BOOL) registerNamespaceWithPrefix: (NSString*)prefix href: (NSString*)href;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+Instance Variables for GSXPathContext Class
+_document
+ @protected GSXMLDocument* _document;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_lib
+ @protected void* _lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+
+ ++ Software documentation for the GSXPathNodeSet class +
+GSXPathNodeSet : GSXPathObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + For XPath queries returning a node set.+ Method summary +
An XPATH + node set is an ordered set of nodes returned as a result + of an expression. The order of the nodes in the set is the + same as the order in the xml document from which they + were extracted. + ++
+- -count
+- -length
+- -nodeAtIndex:
+
+++count
+ - (NSUInteger) count;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the number of nodes in the receiver. + ++
+++length
+ - (NSUInteger) length;
++Availability: Not in OpenStep/MacOS-X+
++ + Deprecated + ++
+++ +nodeAtIndex:
+ - (GSXMLNode*) nodeAtIndex: (NSUInteger)index;
++Availability: Not in OpenStep/MacOS-X+
++ + Please note that index starts from 0. ++
Returns the node from the receiver at the + specified index, ornil
+ if no such node exists. + +
++ Software documentation for the GSXPathNumber class +
+GSXPathNumber : GSXPathObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + For XPath queries returning a number. + ++ Method summary ++
+- -doubleValue
+
+++ +doubleValue
+ - (double) doubleValue;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the floating point (double + ) value of the receiver. + ++
++ Software documentation for the GSXPathObject class +
+GSXPathObject : NSObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + XPath queries return a GSXPathObject. GSXPathObject in + itself is an abstract class; there are four types of + completely different GSXPathObject types, listed + below. I'm afraid you need to check the returned type + of each GSXPath query to make sure it's what you meant it + to be.+
+ + ++ + You don't create GSXPathObject instances, instead the + XPATH system creates them and returns them as the + result of the + [GSXPathContext -evaluateExpression:] + method. +
++ + +
+ Instance Variables +
+
+Instance Variables for GSXPathObject Class
+_context
+ @protected GSXPathContext* _context;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+_lib
+ @protected void* _lib;
++Availability: Not in OpenStep/MacOS-X+
++ + Warning the underscore at the start of the + name of this instance variable indicates that, even + though it is not technically private, it is + intended for internal use within the package, and + you should not use the variable in other code. + ++
+
+ ++ Software documentation for the GSXPathString class +
+GSXPathString : GSXPathObject
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + For XPath queries returning a string. + ++ Method summary ++
+- -stringValue
+
+++ +stringValue
+ - (NSString*) stringValue;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the string value of the receiver. + ++
++ Software documentation for the GSXMLDocument(XSLT) + category +
+GSXMLDocument(XSLT)
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary ++
+- +xsltTransformFile:stylesheet:
+- +xsltTransformFile:stylesheet:params:
+- +xsltTransformXml:stylesheet:
+- +xsltTransformXml:stylesheet:params:
+- -xsltTransform:
+- -xsltTransform:params:
+
+++xsltTransformFile: stylesheet:
+ + (GSXMLDocument*) xsltTransformFile: (NSString*)xmlFile stylesheet: (NSString*)xsltStylesheet;
++Availability: Not in OpenStep/MacOS-X+
++ + Performs an XSLT transformation on the specified + file using the stylesheet provided.+
Returns an + autoreleased GSXMLDocument containing the + transformed XML, ornil
on + failure. + +
+++xsltTransformFile: stylesheet: params:
+ + (GSXMLDocument*) xsltTransformFile: (NSString*)xmlFile stylesheet: (NSString*)xsltStylesheet params: (NSDictionary*)params;
++Availability: Not in OpenStep/MacOS-X+
++ + Performs an XSLT transformation on the specified + file using the stylesheet and parameters provided. See + the libxslt documentation for details of the supported + parameters.+
Returns an autoreleased + GSXMLDocument containing the transformed XML, + ornil
on failure. + +
+++xsltTransformXml: stylesheet:
+ + (GSXMLDocument*) xsltTransformXml: (NSData*)xmlData stylesheet: (NSData*)xsltStylesheet;
++Availability: Not in OpenStep/MacOS-X+
++ + Performs an XSLT transformation on the specified + file using the stylesheet provided.+
Returns an + autoreleased GSXMLDocument containing the + transformed XML, ornil
on + failure. + +
+++xsltTransformXml: stylesheet: params:
+ + (GSXMLDocument*) xsltTransformXml: (NSData*)xmlData stylesheet: (NSData*)xsltStylesheet params: (NSDictionary*)params;
++Availability: Not in OpenStep/MacOS-X+
++ + Performs an XSLT transformation on the specified + file using the stylesheet and parameters provided.See + the libxslt documentation for details of the supported + parameters.+
Returns an autoreleased + GSXMLDocument containing the transformed XML, + ornil
on failure. + +
+++xsltTransform:
+ - (GSXMLDocument*) xsltTransform: (GSXMLDocument*)xsltStylesheet;
++Availability: Not in OpenStep/MacOS-X+
++ + Performs an XSLT transformation on the current + document using the supplied stylesheet.+
+ Returns an autoreleased GSXMLDocument containing + the transformed XML, ornil
on failure. + +
+++ +xsltTransform: params:
+ - (GSXMLDocument*) xsltTransform: (GSXMLDocument*)xsltStylesheet params: (NSDictionary*)params;
++Availability: Not in OpenStep/MacOS-X+
++ + Performs an XSLT transformation on the current + document using the supplied stylesheet and + paramaters (params may be ++nil
). See the libxslt documentation for + details of the supported parameters.
Returns + an autoreleased GSXMLDocument containing the transformed + XML, ornil
on failure. + +
++ Software documentation for the GSXMLRPC(Delegate) + category +
+GSXMLRPC(Delegate)
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + Delegates should implement this method in order to + be informed of the success or failure of an XMLRPC method + call which was initiated by the + + -sendMethodCall:params:timeout: + + + method.+ Method summary + +
+ +
+++ +completedXMLRPC:
+ - (void) completedXMLRPC: (GSXMLRPC*)sender;
++Availability: Not in OpenStep/MacOS-X+
+An empty method provided for subclasses to override.
++ + Called by the sender when an XMLRPC + method call completes (either success or failure). + The delegate may then call the + + -result + + + method to retrieve the result of the method call + from the sender. + ++
++ Software documentation for the NSString(GSXML) + category +
+NSString(GSXML)
++++
+- Declared in:
+- GNUstepBase/GSXML.h
++Availability: Not in OpenStep/MacOS-X+
++ + Convenience methods for managing XML escape + sequences in an NSString. + ++ Method summary + +
+++stringByEscapingXML
+ - (NSString*) stringByEscapingXML;
++Availability: Not in OpenStep/MacOS-X+
++ + Deals with standard XML internal entities.+
+ Converts the five XML special characters in the + receiver ('>', '<', '&', ''' and + '"') to their escaped equivalents, and + return the escaped string.
Also converts + non-ascii characters to the corresponding numeric + entity escape sequences.
You should perform + any non-standard entity substitution you require + after you have called this method. + +
+++stringByUnescapingXML
+ - (NSString*) stringByUnescapingXML;
++Availability: Not in OpenStep/MacOS-X+
++ + Deals with standard XML internal entities.+
+ Converts the five XML escape sequences + ('>', '<', '&', + ''' and '"') to the unicode + characters they represent, and returns the + unescaped string.
Also converts numeric + entity escape sequences to the corresponding unicode + characters.
You should perform any + non-standard entity substitution you require + before you have called this method. + +
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/MacrosTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/MacrosTOC.html new file mode 100644 index 0000000..22ced26 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/MacrosTOC.html @@ -0,0 +1,60 @@ + + + + +Macros + + + +Macros
+ + + + ASSIGN
+ ASSIGNCOPY
+ AUTORELEASE
+ CALL_BLOCK
+ CALL_BLOCK_NO_ARGS
+ CHECK_INDEX_RANGE_ERROR
+ CREATE_AUTORELEASE_POOL
+ DESTROY
+ GSLocalizedStaticString
+ GSOnceFLog
+ GSOnceMLog
+ GS_API_LATEST
+ GS_API_MACOSX
+ GS_API_NONE
+ GS_API_OPENSTEP
+ GS_API_OSSPEC
+ GS_API_VERSION
+ GS_INITIALIZED_LOCK
+ GS_MAX_OBJECTS_FROM_STACK
+ GS_RANGE_CHECK
+ GS_USEIDLIST
+ GS_USEIDPAIRLIST
+ NSDebugFLLog
+ NSDebugFLog
+ NSDebugFRLog
+ NSDebugLLog
+ NSDebugLog
+ NSDebugMLLog
+ NSDebugMLog
+ NSDebugMRLog
+ NSWarnFLog
+ NSWarnLog
+ NSWarnMLog
+ OS_API_VERSION
+ RECREATE_AUTORELEASE_POOL
+ RELEASE
+ RETAIN
+ TEST_AUTORELEASE
+ TEST_RELEASE
+ TEST_RETAIN
+ _
+ __
+ +
+ + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/MainIndex.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/MainIndex.html new file mode 100644 index 0000000..29a36f7 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/MainIndex.html @@ -0,0 +1,14 @@ + + + Index
+ Classes
+ Constants
+ Functions
+ Macros
+ Types
+ Variables
+
+ (intro) (unframe) + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSArray+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSArray+GNUstepBase.html new file mode 100644 index 0000000..587729d --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSArray+GNUstepBase.html @@ -0,0 +1,105 @@ + + + + +NSArray+GNUstepBase documentation + + + + Up +
+NSArray+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the NSArray(GNUstepBase) + category +
+NSArray(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSArray+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary + +
+++insertionPosition: usingFunction: context:
+ - (NSUInteger) insertionPosition: (id)item usingFunction: (NSComparisonResult(*)(id,id,void*))sorter context: (void*)context;
++Availability: Not in OpenStep/MacOS-X+
++ + + +++ + Method for working with sorted arrays - use a + binary chop to determine the insertion location + for an object. If equal objects already exist in the + array, they will be located immediately before the + insertion position. +
++ + +
++ + The comparator function takes two items as arguments, + the first is the item to be added, the + second is the item already in the + array. The function should return + NSOrderedAscending if the + item to be added is 'less than' the + item in the array, NSOrderedDescending + if it is greater, and NSOrderedSame if it is equal. +
++ + +
+++insertionPosition: usingSelector:
+ - (NSUInteger) insertionPosition: (id)item usingSelector: (SEL)comp;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSAttributedString+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSAttributedString+GNUstepBase.html new file mode 100644 index 0000000..1a2b3d3 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSAttributedString+GNUstepBase.html @@ -0,0 +1,68 @@ + + + + +NSAttributedString+GNUstepBase documentation + + + + Up +
+NSAttributedString+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the + NSAttributedString(GNUstepBase) + category +
+NSAttributedString(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSAttributedString+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary + +
+++attributedSubstringWithRange:
+ - (NSAttributedString*) attributedSubstringWithRange: (NSRange)aRange;
++Availability: Not in OpenStep/MacOS-X+
++ + Deprecated synonym for + attributedSubstringFromRange: + for consistency with NSString + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSBundle+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSBundle+GNUstepBase.html new file mode 100644 index 0000000..ad243fd --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSBundle+GNUstepBase.html @@ -0,0 +1,65 @@ + + + + +NSBundle+GNUstepBase documentation + + + + Up +
+NSBundle+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the NSBundle(GNUstepBase) + category +
+NSBundle(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSBundle+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary + +
+++pathForLibraryResource: ofType: inDirectory:
+ + (NSString*) pathForLibraryResource: (NSString*)name ofType: (NSString*)ext inDirectory: (NSString*)bundlePath;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSCalendarDate+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSCalendarDate+GNUstepBase.html new file mode 100644 index 0000000..11ef3b3 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSCalendarDate+GNUstepBase.html @@ -0,0 +1,95 @@ + + + + +NSCalendarDate+GNUstepBase documentation + + + + Up +
+NSCalendarDate+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the + NSCalendarDate(GNUstepBase) + category +
+NSCalendarDate(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSCalendarDate+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary ++
+- -isoYear
+- -weekOfYear
+
+++isoYear
+ - (NSUInteger) isoYear;
++Availability: Not in OpenStep/MacOS-X+
++ + According to the ISO definition of a week, each + year begins with the Monday of the week containing the + 4th of January. If we a have a date early in January or + late in December we therefore may need to adjust the + year to match the definition of a week.+
This + method is used to return the ISO year rather than + the normal calendar year. + +
+++weekOfYear
+ - (NSInteger) weekOfYear;
++Availability: Not in OpenStep/MacOS-X+
++ + The ISO standard week of the year is based on the first + week of the year being that week (starting on monday) + for which the thursday is on or after the first of + january.+
This has the effect that, if + january first is a friday, saturday or sunday, the + days of that week (up to and including the sunday) are + considered to be in week 53 of the preceding + year. Similarly if the last day of the year is a + monday tuesday or wednesday, these days are part of + week 1 of the next year. + +
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSData+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSData+GNUstepBase.html new file mode 100644 index 0000000..7a666eb --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSData+GNUstepBase.html @@ -0,0 +1,301 @@ + + + + +NSData+GNUstepBase documentation + + + + Up +
+NSData+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the NSData(GNUstepBase) + category +
+NSData(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSData+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary ++
+- +dataWithRandomBytesOfLength:
+- -escapedRepresentation
+- -escapedRepresentation:
+- -gunzipped
+- -gzipped:
+- -hexadecimalRepresentation
+- -hexadecimalRepresentation:
+- -initWithHexadecimalRepresentation:
+- -isGzipped
+- -md5Digest
+- -uudecodeInto:name:mode:
+- -uuencodeInto:name:mode:
+
+++dataWithRandomBytesOfLength:
+ + (id) dataWithRandomBytesOfLength: (NSUInteger)length;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns an autoreleased data instance initialised + with pseudo-random bytes of the specified + length.+
On failure returns +nil
. This may be due to:
A zero + length or unreasonably large + length argument or,
Failure to + allocate memory to hold the random data or,
+ Failure of the underlying random data generation. + +
+++escapedRepresentation
+ - (NSString*) escapedRepresentation;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns an NSString object containing a backslash + escaped representation of the receiver. + ++
+++escapedRepresentation:
+ - (char*) escapedRepresentation: (NSUInteger*)length;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a buffer containing an ASCII backslash + escaped representation of the receiver, (and + optionally the size of the buffer excluding the + trailing nul terminator). + ++
+++gunzipped
+ - (NSData*) gunzipped;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns data formed by gunzipping the contents of + the receiver.+
If the receiver did not contain + data produced by gzip, this method simply returns the + receiver.
If the gnuzipping failed, this + method returnsnil
.
Otherwise, + the returned object is an autorelease mutable data + object. + +
+++gzipped:
+ - (NSData*) gzipped: (int)level;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns data formed by gzipping the contents of the + receiver using the specified compression + level (from 0 to 9 with 0 meaning no + compression and 9 meaning maximum compression). + Use a value outside the 0 to 9 range (eg -1) to employ + the default compression.+
NB. It is permissable + to gzip an empty data object, and it is also permissable + to gzip a data object which already contains gzipped + data.
Returnsnil
on failure. + +
+++hexadecimalRepresentation
+ - (NSString*) hexadecimalRepresentation;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns an NSString object containing an ASCII + hexadecimal representation of the receiver. + This means that the returned object will contain + exactly twice as many characters as there are bytes + as the receiver, as each byte in the receiver is + represented by two hexadecimal digits.+
+ The high order four bits of each byte is encoded before + the low order four bits. Capital letters 'A' to 'F' are + used to represent values from 10 to 15. + +
+++hexadecimalRepresentation:
+ - (char*) hexadecimalRepresentation: (NSUInteger*)length;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a buffer containing an ASCII string with a + nul terminated hexadecimal representation of the + receiver, (and optionally the size of the buffer + excluding the trailing nul terminator). + ++
+++initWithHexadecimalRepresentation:
+ - (id) initWithHexadecimalRepresentation: (NSString*)string;
++Availability: Not in OpenStep/MacOS-X+
++ + Initialises the receiver with the supplied + string data which contains a hexadecimal + coding of the bytes. The parsing of the + string is fairly tolerant, ignoring + whitespace and permitting both upper and lower + case hexadecimal digits (the + + -hexadecimalRepresentation + + + method produces a string using only + uppercase digits with no white space).+
If + the string does not contain one or more + pairs of hexadecimal digits then an exception is + raised. + +
+++isGzipped
+ - (BOOL) isGzipped;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns+YES
if the receiver is a + non-empty data object with a gzip header, +NO
otherwise. + +
+++md5Digest
+ - (NSData*) md5Digest;
++Availability: Not in OpenStep/MacOS-X+
++ + Creates an MD5 digest of the information stored in + the receiver and returns it as an autoreleased 16 byte + NSData object.+
If you need to produce a + digest of string information, you need to decide + what character encoding is to be used and convert your + string to a data object of that encoding type first + using the + [NSString -dataUsingEncoding:] + method - + ++ myDigest = [[myString dataUsingEncoding: NSUTF8StringEncoding] md5Digest]; ++ + If you need to use the digest in a human readable form, + you will probably want it to be seen as 32 hexadecimal + digits, and can do that using the + + -hexadecimalRepresentation + + + method. + +
+++uudecodeInto: name: mode:
+ - (BOOL) uudecodeInto: (NSMutableData*)decoded name: (NSString**)namePtr mode: (NSInteger*)modePtr;
++Availability: Not in OpenStep/MacOS-X+
++ + Decodes the source data from uuencoded and return + the result.+
Returns the encoded file name in + namePtr if it is not null. Returns the + encoded file mode in modePtr if it is + not null. + +
+++uuencodeInto: name: mode:
+ - (BOOL) uuencodeInto: (NSMutableData*)encoded name: (NSString*)name mode: (NSInteger)mode;
++Availability: Not in OpenStep/MacOS-X+
++ + Encode the source data to uuencoded.+
Uses the + supplied name as the filename in the + encoded data, and says that the file + mode is as specified.
If no + name is supplied, uses +untitled
as the name. + +
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSFileHandle+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSFileHandle+GNUstepBase.html new file mode 100644 index 0000000..8abeba7 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSFileHandle+GNUstepBase.html @@ -0,0 +1,79 @@ + + + + +NSFileHandle+GNUstepBase documentation + + + + Up +
+NSFileHandle+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the + NSFileHandle(GNUstepBase) category +
+NSFileHandle(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSFileHandle+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary + +
+++fileHandleAsServerAtAddress: service: protocol:
+ + (id) fileHandleAsServerAtAddress: (NSString*)address service: (NSString*)service protocol: (NSString*)protocol;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++socketAddress
+ - (NSString*) socketAddress;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSLock+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSLock+GNUstepBase.html new file mode 100644 index 0000000..4290d92 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSLock+GNUstepBase.html @@ -0,0 +1,162 @@ + + + + +NSLock+GNUstepBase documentation + + + + Up +
+NSLock+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ +
+Contents -
++
+- + Software documentation for the NSLock(GNUstepBase) + category +
+- + Software documentation for the + NSRecursiveLock(GNUstepBase) + category +
+
++ Software documentation for the NSLock(GNUstepBase) + category +
+NSLock(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSLock+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary ++
+- +newLockAt:
+
+++ +newLockAt:
+ + (id) newLockAt: (id*)location;
++Availability: Not in OpenStep/MacOS-X+
++ + Initializes the id pointed to + by location with a new instance of the + receiver's class in a thread safe manner, unless + it has been previously initialized. Returns the contents + pointed to by location. The + location is considered unintialized if it + contains+nil
.
This method is + used in the GS_INITIALIZED_LOCK macro to initialize + lock variables when it cannot be insured that they can + be initialized in a thread safe environment. + ++ NSLock *my_lock = nil; + + void function (void) + { + [GS_INITIALIZED_LOCK(my_lock, NSLock) lock]; + do_work (); + [my_lock unlock]; + } + ++ + +
++ Software documentation for the + NSRecursiveLock(GNUstepBase) + category +
+NSRecursiveLock(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSLock+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary ++
+- +newLockAt:
+
+++newLockAt:
+ + (id) newLockAt: (id*)location;
++Availability: Not in OpenStep/MacOS-X+
++ + Initializes the id pointed to + by location with a new instance of the + receiver's class in a thread safe manner, unless + it has been previously initialized. Returns the contents + pointed to by location. The + location is considered unintialized if it + contains+nil
.
This method is + used in the GS_INITIALIZED_LOCK macro to initialize + lock variables when it cannot be insured that they can + be initialized in a thread safe environment. + ++ NSLock *my_lock = nil; + + void function (void) + { + [GS_INITIALIZED_LOCK(my_lock, NSLock) lock]; + do_work (); + [my_lock unlock]; + } + ++ + +
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSMutableString+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSMutableString+GNUstepBase.html new file mode 100644 index 0000000..46471cf --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSMutableString+GNUstepBase.html @@ -0,0 +1,150 @@ + + + + +NSMutableString+GNUstepBase documentation + + + + Up +
+NSMutableString+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the + NSMutableString(GNUstepBase) + category +
+NSMutableString(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSMutableString+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary ++
+- -deletePrefix:
+- -deleteSuffix:
+- -immutableProxy
+- -replaceString:withString:
+- -trimLeadSpaces
+- -trimSpaces
+- -trimTailSpaces
+
+++deletePrefix:
+ - (void) deletePrefix: (NSString*)prefix;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++deleteSuffix:
+ - (void) deleteSuffix: (NSString*)suffix;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++immutableProxy
+ - (NSString*) immutableProxy;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++replaceString: withString:
+ - (void) replaceString: (NSString*)replace withString: (NSString*)by;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++trimLeadSpaces
+ - (void) trimLeadSpaces;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++trimSpaces
+ - (void) trimSpaces;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+++trimTailSpaces
+ - (void) trimTailSpaces;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSNumber+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSNumber+GNUstepBase.html new file mode 100644 index 0000000..a98532d --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSNumber+GNUstepBase.html @@ -0,0 +1,74 @@ + + + + +NSNumber+GNUstepBase documentation + + + + Up +
+NSNumber+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the NSNumber(GNUstepBase) + category +
+NSNumber(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSNumber+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary + +
+++valueFromString:
+ + (NSValue*) valueFromString: (NSString*)string;
++Availability: Not in OpenStep/MacOS-X+
++ + Parses string as a ++double
, +int
, or ++ unsigned int +
+ depending on what characters are present. Uses +atof
andatoi
which don't + report errors, so be careful if the + string might contain an invalid value. + +
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSObject+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSObject+GNUstepBase.html new file mode 100644 index 0000000..04c7fa7 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSObject+GNUstepBase.html @@ -0,0 +1,537 @@ + + + + +NSObject+GNUstepBase documentation + + + + Up +
+NSObject+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ +
+Contents -
++
+- + Software documentation for the NSObject(GNUstepBase) + informal protocol +
+- + Software documentation for the NSObject(GSAtExit) + informal protocol +
+- + Software documentation for the NSObject(GSCleanup) + informal protocol +
+- + Software documentation for the + NSObject(MemoryFootprint) informal + protocol +
+
++ Software documentation for the NSObject(GNUstepBase) + informal protocol +
+NSObject(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSObject+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary ++
+- -compare:
+- -isInstance
+- -makeImmutableCopyOnFail:
+- -notImplemented:
+- -shouldNotImplement:
+- -subclassResponsibility:
+
+++compare:
+ - (NSComparisonResult) compare: (id)anObject;
++Availability: Not in OpenStep/MacOS-X+
++ + WARNING: The + + -compare: + + + method for NSObject is deprecated due to subclasses + declaring the same selector with conflicting + signatures. Comparision of arbitrary objects is + not just meaningless but also dangerous as most + concrete implementations expect comparable objects + as arguments often accessing instance variables + directly. This method will be removed in a future + release. + ++
+++isInstance
+ - (BOOL) isInstance;
++Availability: Not in OpenStep/MacOS-X+
++ + For backward compatibility only... use + + class_isMetaClass() + + + on the class of the receiver instead. + ++
+++makeImmutableCopyOnFail:
+ - (id) makeImmutableCopyOnFail: (BOOL)force;
++Availability: Not in OpenStep/MacOS-X+
++ + Transmutes the receiver into an immutable + version of the same object and returns the result. ++
If the receiver is not a mutable object or + cannot be simply transmuted, then this method either + returns the receiver unchanged or, if the + force flag is set toYES
, + returns an autoreleased copy of the receiver. +
Mutable classes should override this default + implementation.
This method is used + in methods which are declared to return immutable + objects (eg. an NSArray), but which create and + build mutable ones internally. + +
+++notImplemented:
+ - (id) notImplemented: (SEL)aSel;
++Availability: Not in OpenStep/MacOS-X+
++ + Message sent when an implementation wants to + explicitly exclude a method (but cannot due to + compiler constraint), and wants to make sure it is + not called by mistake. Default implementation raises an + exception at runtime. + ++
+++shouldNotImplement:
+ - (id) shouldNotImplement: (SEL)aSel;
++Availability: Not in OpenStep/MacOS-X+
++ + Message sent when an implementation wants to + explicitly exclude a method (but cannot due to + compiler constraint) and forbid that subclasses + implement it. Default implementation raises an + exception at runtime. If a subclass does + implement this method, however, the superclass's + implementation will not be called, so this + is not a perfect mechanism. + ++
+++ +subclassResponsibility:
+ - (id) subclassResponsibility: (SEL)aSel;
++Availability: Not in OpenStep/MacOS-X+
++ + Message sent when an implementation wants to + explicitly require a subclass to implement a + method (but cannot at compile time since there is no ++abstract
keyword in Objective-C). + Default implementation raises an exception at + runtime to alert developer that he/she forgot to + override a method. + +
++ Software documentation for the NSObject(GSAtExit) + informal protocol +
+NSObject(GSAtExit)
++++
+- Declared in:
+- GNUstepBase/NSObject+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + This is an informal protocol... classes may implement + the method and register themselves to have it called on + process exit. + ++ Method summary ++
+- +atExit
+
+++ +atExit
+ + (void) atExit;
++Availability: Not in OpenStep/MacOS-X+
++ + This method is called on exit for any class which + implements it and which has called + + +registerAtExit + + + to register it to be called.+
The order in which + methods for different classes is called is the + reverse of the order in which the classes were + registered, but it's best to assume the method + can not depend on any other class being in a usable + state at the point when the method is called (rather + like +load).
Typical use would be to release + memory occupied by class data structures so that + memory usage analysis software will not think the + memory has been leaked. + +
++ Software documentation for the NSObject(GSCleanup) + informal protocol +
+NSObject(GSCleanup)
++++
+- Declared in:
+- GNUstepBase/NSObject+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Category for methods handling leaked memory cleanup + on exit of process (for use when debugging memory leaks). ++ Method summary + +
You enable this by calling the + + +setShouldCleanUp: + + + method (done implicitly by gnustep-base if the + GNUSTEP_SHOULD_CLEAN_UP environment + variable is set toYES
).
Your + class then has two options for performing cleanup when + the process ends: + + ++ + 1. Use the +leak: + + method to register objects which are simply to be + retained until the process ends, and then either + ignored or released depending on the cleanup + setting in force. This mechanism is simple and + should be sufficient for many classes. +
++ + +
++ + 2. Implement a + + +atExit + + + method to be run when the process ends and, within + your + + +initialize + + + implementation, call + + +shouldCleanUp + + + to determine whether cleanup should be done, and if it + returns
+YES
then call + + +registerAtExit + + + to have your + + +atExit + + + method called when the process terminates. ++ + +
++ + The order in which 'leaked' objects are released and + + +atExit + + + methods are called on process exist is the reverse + of the order in which they werse set up suing this API. +
++ + +
+++leak:
+ + (id) leak: (id)anObject;
++Availability: Not in OpenStep/MacOS-X+
++ + This method simply retains its argument so that it + will never be deallocated during normal operation, but + keeps track of it so that it is released during + process exit if cleanup is enabled.+
Returns + its argument. + +
+++leakAt:
+ + (id) leakAt: (id*)anAddress;
++Availability: Not in OpenStep/MacOS-X+
++ + This method retains the object at *anAddress so that + it will never be deallocated during normal operation, + but keeps track of the address so that the object is + released and the address is zeroed during process + exit if cleanup is enabled.+
Returns the object + at *anAddress. + +
+++registerAtExit
+ + (BOOL) registerAtExit;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the receiver to have its + + +atExit + + + method called at the point when the process + terminates.+
ReturnsYES
on + success andNO
on failure (if the + class does not implement the method or if it is + already registered to call it).
Implemented + as a call to + + +registerAtExit: + + + with the selector for the + + +atExit + + + method as its argument. + +
+++registerAtExit:
+ + (BOOL) registerAtExit: (SEL)aSelector;
++Availability: Not in OpenStep/MacOS-X+
++ + Sets the receiver to have the specified method called + at the point when the process terminates.+
Returns +YES
on success andNO
on + failure (if the class does not implement the method + ir if it is already registered to call it). + +
+++setShouldCleanUp:
+ + (void) setShouldCleanUp: (BOOL)aFlag;
++Availability: Not in OpenStep/MacOS-X+
++ + Specifies the default cleanup behavior on process + exit... the value returned by the NSObject + implementation of the + + +shouldClanUp + + + method.+
Calling this method with a +YES
argument implicitly calls the + + +enableAtExit + + + method as well.
The GNUstep Base library + calls this method with the value obtained from the + GNUSTEP_SHOULD_CLEAN_UP environment + variable when NSObject is initialised. + +
+++ +shouldCleanUp
+ + (BOOL) shouldCleanUp;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a flag indicating whether the receiver + should clean up its data structures etc at process + exit.+
The NSObject implementation returns the + value set by the + + +setShouldCleanUp: + + + method but subclasses may override this. + +
++ Software documentation for the + NSObject(MemoryFootprint) informal + protocol +
+NSObject(MemoryFootprint)
++++
+- Declared in:
+- GNUstepBase/NSObject+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + This is an informal protocol... classes may implement + the method to report how much memory is used by the + instance and any objects it acts as a container for. + ++ Method summary + +
+++sizeInBytesExcluding:
+ - (NSUInteger) sizeInBytesExcluding: (NSHashTable*)exclude;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSProcessInfo+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSProcessInfo+GNUstepBase.html new file mode 100644 index 0000000..e5eb3e0 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSProcessInfo+GNUstepBase.html @@ -0,0 +1,106 @@ + + + + +NSProcessInfo+GNUstepBase documentation + + + + Up +
+NSProcessInfo+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the + NSProcessInfo(GNUstepBase) category +
+NSProcessInfo(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSProcessInfo+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary + +
+++debugLoggingEnabled
+ - (BOOL) debugLoggingEnabled;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a indication of whether debug logging is + enabled. This returns+YES
unless a + call to + + -setDebugLoggingEnabled: + + + has been used to turn logging off. + +
+++debugSet
+ - (NSMutableSet*) debugSet;
++Availability: Not in OpenStep/MacOS-X+
++ + This method returns a set of debug levels set using + the --GNU-Debug=... command line option and/or the + GNU-Debug user default.+
You can modify + this set to change the debug logging under your + programs control... but such modifications are not + thread-safe. + +
+++setDebugLoggingEnabled:
+ - (void) setDebugLoggingEnabled: (BOOL)flag;
++Availability: Not in OpenStep/MacOS-X+
++ + This method permits you to turn all debug logging on + or off without modifying the set of debug levels in use. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSString+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSString+GNUstepBase.html new file mode 100644 index 0000000..44c5174 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSString+GNUstepBase.html @@ -0,0 +1,185 @@ + + + + +NSString+GNUstepBase documentation + + + + Up +
+NSString+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the NSString(GNUstepBase) + category +
+NSString(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSString+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Provides some additional (non-standard) utility + methods. + ++ Method summary ++
+- +stringWithFormat:arguments:
+- -stringByDeletingPrefix:
+- -stringByDeletingSuffix:
+- -stringByReplacingString:withString:
+- -stringByTrimmingLeadSpaces
+- -stringByTrimmingSpaces
+- -stringByTrimmingTailSpaces
+- -substringFromRange:
+
+++stringWithFormat: arguments:
+ + (id) stringWithFormat: (NSString*)format arguments: (va_list)argList;
++Availability: Not in OpenStep/MacOS-X+
++ + Alternate way to invoke ++stringWithFormat
if you have or wish to + build an explicitva_list
structure. + +
+++stringByDeletingPrefix:
+ - (NSString*) stringByDeletingPrefix: (NSString*)prefix;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string formed by removing the + prefix string from the receiver. Raises an + exception if the prefix is not + present. + ++
+++stringByDeletingSuffix:
+ - (NSString*) stringByDeletingSuffix: (NSString*)suffix;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string formed by removing the + suffix string from the receiver. Raises an + exception if the suffix is not + present. + ++
+++stringByReplacingString: withString:
+ - (NSString*) stringByReplacingString: (NSString*)replace withString: (NSString*)by;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string in which any (and all) occurrences + of replace in the receiver have been replaced + with by. Returns the receiver if + replace does not occur within the + receiver. NB. an empty string is not considered + to exist within the receiver. + ++
+++stringByTrimmingLeadSpaces
+ - (NSString*) stringByTrimmingLeadSpaces;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string formed by removing leading white + space from the receiver. + ++
+++stringByTrimmingSpaces
+ - (NSString*) stringByTrimmingSpaces;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string formed by removing both leading + and trailing white space from the receiver. + ++
+++stringByTrimmingTailSpaces
+ - (NSString*) stringByTrimmingTailSpaces;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns a string formed by removing trailing white + space from the receiver. + ++
+++substringFromRange:
+ - (NSString*) substringFromRange: (NSRange)aRange;
++Availability: Not in OpenStep/MacOS-X+
++ + An obsolete name for + + -substringWithRange: + + + ... deprecated. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSTask+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSTask+GNUstepBase.html new file mode 100644 index 0000000..75841a1 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSTask+GNUstepBase.html @@ -0,0 +1,111 @@ + + + + +NSTask+GNUstepBase documentation + + + + Up +
+NSTask+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2008 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the NSTask(GNUstepBase) + category +
+NSTask(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSTask+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary + +
+++executableExtensions
+ + (NSSet*) executableExtensions;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the set of extensions known to indicate an + executable file type on systems which require + that (currently mswindows). + ++
+++executablePath:
+ + (NSString*) executablePath: (NSString*)aFile;
++Availability: Not in OpenStep/MacOS-X+
++ + Checks the specified file to see if it is executable + or if by appending one of the + + +executableExtensions + + + it can be made executable. The return value is the + actual executable path or+nil
if the + file cannot be executed. + +
+++launchPathForTool:
+ + (NSString*) launchPathForTool: (NSString*)name;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the launch path for a tool given the + name of a tool.+
Locates the tool by + looking in the standard directories and, if not + found there, looking in the PATH set in the + environment.
On ms-windows, this also + tries appending common executable path extensions to + the tool name in order to find it.
+ Returns the path found, ornil
if the + tool could not be located. + +
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSThread+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSThread+GNUstepBase.html new file mode 100644 index 0000000..5cdc2c0 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSThread+GNUstepBase.html @@ -0,0 +1,47 @@ + + + + +NSThread+GNUstepBase documentation + + + + Up +
+NSThread+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ ++ Software documentation for the NSThread(GNUstepBase) + category +
+NSThread(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSThread+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSURL+GNUstepBase.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSURL+GNUstepBase.html new file mode 100644 index 0000000..b52d578 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/NSURL+GNUstepBase.html @@ -0,0 +1,144 @@ + + + + +NSURL+GNUstepBase documentation + + + + Up +
+NSURL+GNUstepBase documentation
+Authors
++
+- Richard Frith-Macdonald (
+rfm@gnu.org
)- +
+Copyright: (C) 2003-2010 Free Software Foundation, Inc.
+ +++ +
+Contents -
++
+- + Software documentation for the NSURL(GNUstepBase) + category +
+- + Software documentation for the + NSURL(GNUstepBaseAdditions) + category +
+
++ Software documentation for the NSURL(GNUstepBase) + category +
+NSURL(GNUstepBase)
++++
+- Declared in:
+- GNUstepBase/NSURL+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary ++
+- -fullPath
+- -pathWithEscapes
+
+++fullPath
+ - (NSString*) fullPath;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the full path for this URL including any + trailing slash. + ++
+++ +pathWithEscapes
+ - (NSString*) pathWithEscapes;
++Availability: Not in OpenStep/MacOS-X+
++ + Returns the full path for this URL, without + decoding percent-escapes.+
This is useful if + you need to distinguish between "/" and "%2F" in the + path. The normal + + -path + + + method will convert all "%2F" value in the path into + "/" so that you have no way of knowing whether a "/" is + part of a path component ir is a path separator. + +
++ Software documentation for the + NSURL(GNUstepBaseAdditions) + category +
+NSURL(GNUstepBaseAdditions)
++++
+- Declared in:
+- GNUstepBase/NSURL+GNUstepBase.h
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++ Method summary + +
+++initWithScheme: user: password: host: port: fullPath: parameterString: query: fragment:
+ - (id) initWithScheme: (NSString*)scheme user: (NSString*)user password: (NSString*)password host: (NSString*)host port: (NSNumber*)port fullPath: (NSString*)fullPath parameterString: (NSString*)parameterString query: (NSString*)query fragment: (NSString*)fragment;
++Availability: Not in OpenStep/MacOS-X+
++ + Builds a URL from components as returned by the + methods of the same names. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/TypesAndConstants.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/TypesAndConstants.html new file mode 100644 index 0000000..3c4efc6 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/TypesAndConstants.html @@ -0,0 +1,418 @@ + + + + +Types and Constants + + + + Up +
+Types and Constants
+Authors
++
+- Richard Frith-Macdonald
+- +
+Copyright: (C) 2005 Free Software Foundation, Inc.
+ ++ ++ +
+Contents -
++
+- + Type index +
+- + Variable index +
+- + Constant index +
+- + GSObjCRuntime types +
+- + GSUnion types +
+- + GSIArray types +
+- + GSIMap types +
+- + GSMime types +
+- + Unicode types +
+- + GSIArray variables +
+- + GSIMap variables +
+- + GSLock variables +
+- + GSMime constants +
+
+ +Type index
+ Type ++
+ +- GSIArray
+- GSIArray_t
+- GSIMapBucket
+- GSIMapBucket_t
+- GSIMapEnumerator
+- GSIMapEnumerator_t
+- GSIMapNode
+- GSIMapNode_t
+- GSIMapTable
+- GSIMapTable_t
+- GSIVar
+- GSMethod
+- GSMimeErrorCode
+- NSGNUstepStringEncoding
+- NSInteger
+- NSUInteger
+- struct _GSIMapEnumerator
+Variable index
+ Variable ++
+ +- _GSIE
+- gnustep_global_lock
+- struct _GSIArray
+- struct _GSIMapBucket
+- struct _GSIMapNode
+- struct _GSIMapTable
+Constant index
+ Constant + +GSObjCRuntime types
++
+GSIVar
+ typedef Ivar GSIVar;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSMethod
+ typedef Method GSMethod;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ +GSUnion types
++
+NSInteger
+ typedef intptr_t NSInteger;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+NSUInteger
+ typedef uintptr_t NSUInteger;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ +GSIArray types
++
+GSIArray
+ typedef struct _GSIArray* GSIArray;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIArray_t
+ typedef struct _GSIArray GSIArray_t;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +GSIMap types
++
+GSIMapBucket
+ typedef GSIMapBucket_t* GSIMapBucket;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapBucket_t
+ typedef struct _GSIMapBucket GSIMapBucket_t;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapEnumerator
+ typedef GSIMapEnumerator_t* GSIMapEnumerator;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapEnumerator_t
+ typedef struct _GSIMapEnumerator GSIMapEnumerator_t;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapNode
+ typedef GSIMapNode_t* GSIMapNode;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapNode_t
+ typedef struct _GSIMapNode GSIMapNode_t;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapTable
+ typedef GSIMapTable_t* GSIMapTable;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+GSIMapTable_t
+ typedef struct _GSIMapTable GSIMapTable_t;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+struct _GSIMapEnumerator
+ typedef struct _GSIMapEnumerator struct _GSIMapEnumerator;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +GSMime types
++
+GSMimeErrorCode
+ typedef enum ... GSMimeErrorCode;
++Availability: Not in OpenStep/MacOS-X+
++ + The error codes used in the GSMimeErrorDomain + ++
+ +Unicode types
++
+NSGNUstepStringEncoding
+ typedef enum _NSGNUstepStringEncoding NSGNUstepStringEncoding;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +GSIArray variables
++
+struct _GSIArray
+ struct _GSIArray struct _GSIArray;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +GSIMap variables
++
+_GSIE
+ int* _GSIE;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+struct _GSIMapBucket
+ struct _GSIMapBucket struct _GSIMapBucket;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+struct _GSIMapNode
+ struct _GSIMapNode struct _GSIMapNode;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+struct _GSIMapTable
+ struct _GSIMapTable struct _GSIMapTable;
++Availability: Not in OpenStep/MacOS-X+
++ + Description forthcoming. + ++
+ +GSLock variables
++
+gnustep_global_lock
+ NSRecursiveLock* gnustep_global_lock;
++Availability: OpenStep+
++ + Global lock to be used by classes when operating on + any global data that invoke other methods which also + access global; thus, creating the potential for + deadlock. + ++
+ +GSMime constants
++
+GSMimeErrorDomain
+ NSString* const GSMimeErrorDomain;
++Availability: Not in OpenStep/MacOS-X+
++ + The error domain for the GSMime system. + ++
+
+ Up + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/TypesTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/TypesTOC.html new file mode 100644 index 0000000..fcd628b --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/TypesTOC.html @@ -0,0 +1,35 @@ + + + + +Types + + + +Types
+ + + + GSIArray
+ GSIArray_t
+ GSIMapBucket
+ GSIMapBucket_t
+ GSIMapEnumerator
+ GSIMapEnumerator_t
+ GSIMapNode
+ GSIMapNode_t
+ GSIMapTable
+ GSIMapTable_t
+ GSIVar
+ GSMethod
+ GSMimeErrorCode
+ NSGNUstepStringEncoding
+ NSInteger
+ NSUInteger
+ struct _GSIMapEnumerator
+ +
+ + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/VariablesTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/VariablesTOC.html new file mode 100644 index 0000000..07a3c8c --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/VariablesTOC.html @@ -0,0 +1,24 @@ + + + + +Variables + + + +Variables
+ + + + _GSIE
+ gnustep_global_lock
+ struct _GSIArray
+ struct _GSIMapBucket
+ struct _GSIMapNode
+ struct _GSIMapTable
+ +
+ + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/Reference/index.html b/resources/documentation/Developer/BaseAdditions/Reference/Reference/index.html new file mode 100644 index 0000000..680dc2d --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/Reference/index.html @@ -0,0 +1,15 @@ + + + ++ Autogsdoc-generated Documentation for BaseAdditions + + + + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/TypesAndConstants.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/TypesAndConstants.gsdoc new file mode 100644 index 0000000..2f04d7d --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/TypesAndConstants.gsdoc @@ -0,0 +1,313 @@ + + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/TypesAndConstants.html b/resources/documentation/Developer/BaseAdditions/Reference/TypesAndConstants.html index 3c4efc6..53c6d97 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/TypesAndConstants.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/TypesAndConstants.html @@ -48,19 +48,25 @@Types and Constants ++ 2005 Free Software Foundation, Inc. + + ++ + + ++ + +Type index ++ + +Variable index ++ + +Constant index ++ + + + +GSObjCRuntime types + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ + + +GSUnion types + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ + + +GSIArray types + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ + + +GSIMap types + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ + + +GSMime types + ++ ++ The error codes used in the GSMimeErrorDomain + ++ +GSMimeSMTPAbort + GSMimeSMTPTimeout ++ GSMimeSMTPCommsEnd ++ GSMimeSMTPCommsError ++ GSMimeSMTPServerResponse ++ + + + +GSTLS types + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ + + + + +Unicode types + ++ ++ Description forthcoming. + ++ + + +GSIArray variables + ++ ++ Description forthcoming. + ++ + + +GSIMap variables + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ + + + + +GSLock variables + ++ ++ Global lock to be used by classes when operating on + any global data that invoke other methods which also + access global; thus, creating the potential for + deadlock. + ++ + + +GSMime constants + ++ ++ The error domain for the GSMime system. + ++ + + + +GSTLS constants + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + ++ ++ Description forthcoming. + +Contents -
GSMime types- - Unicode types + GSTLS types
- - GSIArray variables + Unicode types
- - GSIMap variables + GSIArray variables
- - GSLock variables + GSIMap variables
- - GSMime constants + GSLock variables +
+- + GSMime constants +
+- + GSTLS constants
@@ -68,40 +74,54 @@Contents -
Type index
Type-
- GSIArray
-- GSIArray_t
-- GSIMapBucket
-- GSIMapBucket_t
-- GSIMapEnumerator
-- GSIMapEnumerator_t
-- GSIMapNode
-- GSIMapNode_t
-- GSIMapTable
-- GSIMapTable_t
-- GSIVar
-- GSMethod
-- GSMimeErrorCode
-- NSGNUstepStringEncoding
-- NSInteger
-- NSUInteger
-- struct _GSIMapEnumerator
+- GSIArray
+- GSIArray_t
+- GSIMapBucket
+- GSIMapBucket_t
+- GSIMapEnumerator
+- GSIMapEnumerator_t
+- GSIMapNode
+- GSIMapNode_t
+- GSIMapTable
+- GSIMapTable_t
+- GSIVar
+- GSMethod
+- GSMimeErrorCode
+- GSTLSIOR
+- GSTLSIOW
+- NSGNUstepStringEncoding
+- NSInteger
+- NSUInteger
+- struct _GSIMapEnumerator
Variable index
Variable-
- _GSIE
-- gnustep_global_lock
-- struct _GSIArray
-- struct _GSIMapBucket
-- struct _GSIMapNode
-- struct _GSIMapTable
+- _GSIE
+- gnustep_global_lock
+- struct _GSIArray
+- struct _GSIMapBucket
+- struct _GSIMapNode
+- struct _GSIMapTable
Constant index
ConstantGSIMap types
GSIMapBucket
- typedef GSIMapBucket_t* GSIMapBucket;
+ typedef GSIMapBucket_t* GSIMapBucket;
Availability: Not in OpenStep/MacOS-X
@@ -209,7 +229,7 @@GSIMapBucket_t
GSIMapEnumerator
- typedef GSIMapEnumerator_t* GSIMapEnumerator;
+ typedef GSIMapEnumerator_t* GSIMapEnumerator;
Availability: Not in OpenStep/MacOS-X
@@ -231,7 +251,7 @@GSIMapEnumerator_t
GSIMapNode
- typedef GSIMapNode_t* GSIMapNode;
+ typedef GSIMapNode_t* GSIMapNode;
Availability: Not in OpenStep/MacOS-X
@@ -253,7 +273,7 @@GSIMapNode_t
GSIMapTable
- typedef GSIMapTable_t* GSIMapTable;
+ typedef GSIMapTable_t* GSIMapTable;
Availability: Not in OpenStep/MacOS-X
@@ -297,11 +317,56 @@GSMimeErrorCode
The error codes used in the GSMimeErrorDomain + ++
+- GSMimeSMTPAbort
+- +
+- GSMimeSMTPTimeout
+- +
+- GSMimeSMTPCommsEnd
+- +
+- GSMimeSMTPCommsError
+- +
+- GSMimeSMTPServerResponse
+- +
+
-Unicode types
+GSTLS types
++
+GSTLSIOR
+ typedef ssize_t(* GSTLSIOR;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSIOW
+ typedef ssize_t(* GSTLSIOW;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+ +Unicode types
NSGNUstepStringEncoding
@@ -316,7 +381,7 @@NSGNUstepStringEncoding
-GSIArray variables
+GSIArray variables
struct _GSIArray
@@ -331,7 +396,7 @@struct _GSIArray
-GSIMap variables
+GSIMap variables
_GSIE
@@ -379,7 +444,7 @@struct _GSIMapTable
-GSLock variables
+GSLock variables
gnustep_global_lock
@@ -397,7 +462,7 @@gnustep_global_lock
-GSMime constants
+GSMime constants
GSMimeErrorDomain
@@ -409,6 +474,142 @@GSMimeErrorDomain
The error domain for the GSMime system. +
+ +GSTLS constants
++
+GSTLSCAFile
+ NSString* const GSTLSCAFile;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSCertificateFile
+ NSString* const GSTLSCertificateFile;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSCertificateKeyFile
+ NSString* const GSTLSCertificateKeyFile;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSCertificateKeyPassword
+ NSString* const GSTLSCertificateKeyPassword;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSDebug
+ NSString* const GSTLSDebug;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSIssuers
+ NSString* const GSTLSIssuers;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSOwners
+ NSString* const GSTLSOwners;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSPriority
+ NSString* const GSTLSPriority;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSRemoteHosts
+ NSString* const GSTLSRemoteHosts;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSRevokeFile
+ NSString* const GSTLSRevokeFile;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSServerName
+ NSString* const GSTLSServerName;
++Availability: OpenStep+
++ + Description forthcoming. + ++
+GSTLSVerify
+ NSString* const GSTLSVerify;
++Availability: OpenStep+
++ + Description forthcoming. +
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/TypesTOC.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/TypesTOC.gsdoc new file mode 100644 index 0000000..38c1ce3 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/TypesTOC.gsdoc @@ -0,0 +1,13 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/TypesTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/TypesTOC.html index fcd628b..8665795 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/TypesTOC.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/TypesTOC.html @@ -11,23 +11,25 @@Types + + ++ + ++ Types
- GSIArray
- GSIArray_t
- GSIMapBucket
- GSIMapBucket_t
- GSIMapEnumerator
- GSIMapEnumerator_t
- GSIMapNode
- GSIMapNode_t
- GSIMapTable
- GSIMapTable_t
- GSIVar
- GSMethod
- GSMimeErrorCode
- NSGNUstepStringEncoding
- NSInteger
- NSUInteger
- struct _GSIMapEnumerator
+ GSIArray
+ GSIArray_t
+ GSIMapBucket
+ GSIMapBucket_t
+ GSIMapEnumerator
+ GSIMapEnumerator_t
+ GSIMapNode
+ GSIMapNode_t
+ GSIMapTable
+ GSIMapTable_t
+ GSIVar
+ GSMethod
+ GSMimeErrorCode
+ GSTLSIOR
+ GSTLSIOW
+ NSGNUstepStringEncoding
+ NSInteger
+ NSUInteger
+ struct _GSIMapEnumerator
diff --git a/resources/documentation/Developer/BaseAdditions/Reference/VariablesTOC.gsdoc b/resources/documentation/Developer/BaseAdditions/Reference/VariablesTOC.gsdoc new file mode 100644 index 0000000..9103af0 --- /dev/null +++ b/resources/documentation/Developer/BaseAdditions/Reference/VariablesTOC.gsdoc @@ -0,0 +1,13 @@ + + ++ + diff --git a/resources/documentation/Developer/BaseAdditions/Reference/VariablesTOC.html b/resources/documentation/Developer/BaseAdditions/Reference/VariablesTOC.html index 07a3c8c..c66d604 100644 --- a/resources/documentation/Developer/BaseAdditions/Reference/VariablesTOC.html +++ b/resources/documentation/Developer/BaseAdditions/Reference/VariablesTOC.html @@ -11,12 +11,12 @@Variables + + ++ + ++ Variables
- _GSIE
- gnustep_global_lock
- struct _GSIArray
- struct _GSIMapBucket
- struct _GSIMapNode
- struct _GSIMapTable
+ _GSIE
+ gnustep_global_lock
+ struct _GSIArray
+ struct _GSIMapBucket
+ struct _GSIMapNode
+ struct _GSIMapTable