Use one file per class.

This commit is contained in:
Jonathan Schleifer 2011-02-16 20:32:39 +01:00
parent 2fa82b833c
commit fa59d3ce32
11 changed files with 361 additions and 355 deletions

View file

@ -1,5 +1,5 @@
all: all:
objfw-compile --lib 0.0 -o objxmpp *.m \ objfw-compile -Wall --lib 0.0 -o objxmpp *.m \
`pkg-config --cflags --libs libidn` `pkg-config --cflags --libs libidn`
clean: clean:

View file

@ -1,7 +1,10 @@
#include <stringprep.h>
#include <assert.h> #include <assert.h>
#include <stringprep.h>
#import "XMPPConnection.h" #import "XMPPConnection.h"
#import "XMPPStanza.h" #import "XMPPStanza.h"
#import "XMPPIQ.h"
#define NS_BIND @"urn:ietf:params:xml:ns:xmpp-bind" #define NS_BIND @"urn:ietf:params:xml:ns:xmpp-bind"
#define NS_CLIENT @"jabber:client" #define NS_CLIENT @"jabber:client"

26
src/XMPPIQ.h Normal file
View file

@ -0,0 +1,26 @@
#import "XMPPStanza.h"
/**
* \brief A class describing a IQ stanza
*/
@interface XMPPIQ: XMPPStanza
/**
* Creates a new XMPPIQ with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPIQ
*/
+ IQWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Initializes an already allocated XMPPIQ with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPIQ
*/
- initWithType: (OFString*)type
ID: (OFString*)ID;
@end

24
src/XMPPIQ.m Normal file
View file

@ -0,0 +1,24 @@
#import "XMPPIQ.h"
@implementation XMPPIQ
+ IQWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [[[self alloc] initWithType: type_
ID: ID_] autorelease];
}
- initWithType: (OFString*)type_
ID: (OFString*)ID_
{
if (!([type_ isEqual: @"get"] ||
[type_ isEqual: @"set"] ||
[type_ isEqual: @"result"] ||
[type_ isEqual: @"error"]))
of_log(@"Invalid IQ type!");
return [super initWithName: @"iq"
type: type_
ID: ID_];
}
@end

82
src/XMPPMessage.h Normal file
View file

@ -0,0 +1,82 @@
#import "XMPPStanza.h"
/**
* \brief A class describing a message stanza
*/
@interface XMPPMessage: XMPPStanza
{
}
/**
* Creates a new XMPPMessage
*
* \return A new autoreleased XMPPMessage
*/
+ message;
/**
* Creates a new XMPPMessage with a certain id
*
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPMessage
*/
+ messageWithID: (OFString*)ID;
/**
* Creates a new XMPPMessage with a certain type
*
* \param type The value for the stanza's type attribute
* \return A new autoreleased XMPPMessage
*/
+ messageWithType: (OFString*)type;
/**
* Creates a new XMPPMessage with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPMessage
*/
+ messageWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Initializes an already allocated XMPPMessage
*
* \return A initialized XMPPMessage
*/
- init;
/**
* Initializes an already allocated XMPPMessage with a certain id
*
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPMessage
*/
- initWithID: (OFString*)ID;
/**
* Initializes an already allocated XMPPMessage with a certain type
*
* \param type The value for the stanza's type attribute
* \return A initialized XMPPMessage
*/
- initWithType: (OFString*)type;
/**
* Initializes an already allocated XMPPMessage with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPMessage
*/
- initWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Adds a body element to the XMPPMessage
*
* \param body The text content of the body element
*/
- (void)addBody: (OFString*)body;
@end

57
src/XMPPMessage.m Normal file
View file

@ -0,0 +1,57 @@
#import "XMPPMessage.h"
@implementation XMPPMessage
+ message
{
return [[[self alloc] init] autorelease];
}
+ messageWithID: (OFString*)ID_
{
return [[[self alloc] initWithID: ID_] autorelease];
}
+ messageWithType: (OFString*)type_
{
return [[[self alloc] initWithType: type_] autorelease];
}
+ messageWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [[[self alloc] initWithType: type_
ID: ID_] autorelease];
}
- init
{
return [self initWithType: nil
ID: nil];
}
- initWithID: (OFString*)ID_
{
return [self initWithType: nil
ID: ID_];
}
- initWithType: (OFString*)type_
{
return [self initWithType: type_
ID: nil];
}
- initWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [super initWithName: @"message"
type: type_
ID: ID_];
}
- (void)addBody: (OFString*)body
{
[self addChild: [OFXMLElement elementWithName: @"body"
stringValue: body]];
}
@end

96
src/XMPPPresence.h Normal file
View file

@ -0,0 +1,96 @@
#import "XMPPStanza.h"
/**
* \brief A class describing a presence stanza
*/
@interface XMPPPresence: XMPPStanza
{
}
/**
* Creates a new XMPPPresence
*
* \return A new autoreleased XMPPPresence
*/
+ presence;
/**
* Creates a new XMPPPresence with a certain id
*
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPPresence
*/
+ presenceWithID: (OFString*)ID;
/**
* Creates a new XMPPPresence with a certain type
*
* \param type The value for the stanza's type attribute
* \return A new autoreleased XMPPPresence
*/
+ presenceWithType: (OFString*)type;
/**
* Creates a new XMPPPresence with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPPresence
*/
+ presenceWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Initializes an already allocated XMPPPresence
*
* \return A initialized XMPPPresence
*/
- init;
/**
* Initializes an already allocated XMPPPresence with a certain id
*
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPPresence
*/
- initWithID: (OFString*)ID;
/**
* Initializes an already allocated XMPPPresence with a certain type
*
* \param type The value for the stanza's type attribute
* \return A initialized XMPPPresence
*/
- initWithType: (OFString*)type;
/**
* Initializes an already allocated XMPPPresence with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPPresence
*/
- initWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Adds a show element to the presence stanza
*
* \param show The text content of the show element
*/
- (void)addShow: (OFString*)show;
/**
* Adds a status element to the presence stanza
*
* \param status The text content of the status element
*/
- (void)addStatus: (OFString*)status;
/**
* Adds a priority element to the presence stanza
*
* \param priority The text content of the priority element
*/
- (void)addPriority: (int8_t)priority;
@end

70
src/XMPPPresence.m Normal file
View file

@ -0,0 +1,70 @@
#import "XMPPPresence.h"
@implementation XMPPPresence
+ presence
{
return [[[self alloc] init] autorelease];
}
+ presenceWithID: (OFString*)ID_
{
return [[[self alloc] initWithID: ID_] autorelease];
}
+ presenceWithType: (OFString*)type_
{
return [[[self alloc] initWithType: type_] autorelease];
}
+ presenceWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [[[self alloc] initWithType: type_
ID: ID_] autorelease];
}
- init
{
return [self initWithType: nil
ID: nil];
}
- initWithID: (OFString*)ID_
{
return [self initWithType: nil
ID: ID_];
}
- initWithType: (OFString*)type_
{
return [self initWithType: type_
ID: nil];
}
- initWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [super initWithName: @"presence"
type: type_
ID: ID_];
}
- (void)addShow: (OFString*)show
{
[self addChild: [OFXMLElement elementWithName: @"show"
stringValue: show]];
}
- (void)addStatus: (OFString*)status
{
[self addChild: [OFXMLElement elementWithName: @"status"
stringValue: status]];
}
- (void)addPriority: (int8_t)priority
{
OFString* prio = [OFString stringWithFormat: @"%" @PRId8, priority];
[self addChild: [OFXMLElement elementWithName: @"priority"
stringValue: prio]];
}
@end

View file

@ -127,207 +127,3 @@
*/ */
- initWithElement: (OFXMLElement*)elem; - initWithElement: (OFXMLElement*)elem;
@end @end
/**
* \brief A class describing a IQ stanza
*/
@interface XMPPIQ: XMPPStanza
{
}
/**
* Creates a new XMPPIQ with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPIQ
*/
+ IQWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Initializes an already allocated XMPPIQ with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPIQ
*/
- initWithType: (OFString*)type
ID: (OFString*)ID;
@end
/**
* \brief A class describing a message stanza
*/
@interface XMPPMessage: XMPPStanza
{
}
/**
* Creates a new XMPPMessage
*
* \return A new autoreleased XMPPMessage
*/
+ message;
/**
* Creates a new XMPPMessage with a certain id
*
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPMessage
*/
+ messageWithID: (OFString*)ID;
/**
* Creates a new XMPPMessage with a certain type
*
* \param type The value for the stanza's type attribute
* \return A new autoreleased XMPPMessage
*/
+ messageWithType: (OFString*)type;
/**
* Creates a new XMPPMessage with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPMessage
*/
+ messageWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Initializes an already allocated XMPPMessage
*
* \return A initialized XMPPMessage
*/
- init;
/**
* Initializes an already allocated XMPPMessage with a certain id
*
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPMessage
*/
- initWithID: (OFString*)ID;
/**
* Initializes an already allocated XMPPMessage with a certain type
*
* \param type The value for the stanza's type attribute
* \return A initialized XMPPMessage
*/
- initWithType: (OFString*)type;
/**
* Initializes an already allocated XMPPMessage with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPMessage
*/
- initWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Adds a body element to the XMPPMessage
*
* \param body The text content of the body element
*/
- (void)addBody: (OFString*)body;
@end
/**
* \brief A class describing a presence stanza
*/
@interface XMPPPresence: XMPPStanza
{
}
/**
* Creates a new XMPPPresence
*
* \return A new autoreleased XMPPPresence
*/
+ presence;
/**
* Creates a new XMPPPresence with a certain id
*
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPPresence
*/
+ presenceWithID: (OFString*)ID;
/**
* Creates a new XMPPPresence with a certain type
*
* \param type The value for the stanza's type attribute
* \return A new autoreleased XMPPPresence
*/
+ presenceWithType: (OFString*)type;
/**
* Creates a new XMPPPresence with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPPresence
*/
+ presenceWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Initializes an already allocated XMPPPresence
*
* \return A initialized XMPPPresence
*/
- init;
/**
* Initializes an already allocated XMPPPresence with a certain id
*
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPPresence
*/
- initWithID: (OFString*)ID;
/**
* Initializes an already allocated XMPPPresence with a certain type
*
* \param type The value for the stanza's type attribute
* \return A initialized XMPPPresence
*/
- initWithType: (OFString*)type;
/**
* Initializes an already allocated XMPPPresence with a certain type and id
*
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPPresence
*/
- initWithType: (OFString*)type
ID: (OFString*)ID;
/**
* Adds a show element to the presence stanza
*
* \param show The text content of the show element
*/
- (void)addShow: (OFString*)show;
/**
* Adds a status element to the presence stanza
*
* \param status The text content of the status element
*/
- (void)addStatus: (OFString*)status;
/**
* Adds a priority element to the presence stanza
*
* \param priority The text content of the priority element
*/
- (void)addPriority: (int8_t)priority;
@end

View file

@ -152,151 +152,3 @@
stringValue: ID]; stringValue: ID];
} }
@end @end
@implementation XMPPIQ
+ IQWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [[[self alloc] initWithType: type_
ID: ID_] autorelease];
}
- initWithType: (OFString*)type_
ID: (OFString*)ID_
{
if (!([type_ isEqual: @"get"] ||
[type_ isEqual: @"set"] ||
[type_ isEqual: @"result"] ||
[type_ isEqual: @"error"]))
of_log(@"Invalid IQ type!");
return [super initWithName: @"iq"
type: type_
ID: ID_];
}
@end
@implementation XMPPMessage
+ message
{
return [[[self alloc] init] autorelease];
}
+ messageWithID: (OFString*)ID_
{
return [[[self alloc] initWithID: ID_] autorelease];
}
+ messageWithType: (OFString*)type_
{
return [[[self alloc] initWithType: type_] autorelease];
}
+ messageWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [[[self alloc] initWithType: type_
ID: ID_] autorelease];
}
- init
{
return [self initWithType: nil
ID: nil];
}
- initWithID: (OFString*)ID_
{
return [self initWithType: nil
ID: ID_];
}
- initWithType: (OFString*)type_
{
return [self initWithType: type_
ID: nil];
}
- initWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [super initWithName: @"message"
type: type_
ID: ID_];
}
- (void)addBody: (OFString*)body
{
[self addChild: [OFXMLElement elementWithName: @"body"
stringValue: body]];
}
@end
@implementation XMPPPresence
+ presence
{
return [[[self alloc] init] autorelease];
}
+ presenceWithID: (OFString*)ID_
{
return [[[self alloc] initWithID: ID_] autorelease];
}
+ presenceWithType: (OFString*)type_
{
return [[[self alloc] initWithType: type_] autorelease];
}
+ presenceWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [[[self alloc] initWithType: type_
ID: ID_] autorelease];
}
- init
{
return [self initWithType: nil
ID: nil];
}
- initWithID: (OFString*)ID_
{
return [self initWithType: nil
ID: ID_];
}
- initWithType: (OFString*)type_
{
return [self initWithType: type_
ID: nil];
}
- initWithType: (OFString*)type_
ID: (OFString*)ID_
{
return [super initWithName: @"presence"
type: type_
ID: ID_];
}
- (void)addShow: (OFString*)show
{
[self addChild: [OFXMLElement elementWithName: @"show"
stringValue: show]];
}
- (void)addStatus: (OFString*)status
{
[self addChild: [OFXMLElement elementWithName: @"status"
stringValue: status]];
}
- (void)addPriority: (int8_t)priority
{
OFString* prio = [OFString stringWithFormat: @"%" @PRId8, priority];
[self addChild: [OFXMLElement elementWithName: @"priority"
stringValue: prio]];
}
@end

View file

@ -1,5 +1,5 @@
all: all:
objfw-compile -o tests *.m -I../src -L../src -lobjxmpp objfw-compile -Wall -o tests *.m -I../src -L../src -lobjxmpp
clean: clean:
rm -f tests *.o rm -f tests *.o