Use one file per class.
This commit is contained in:
parent
2fa82b833c
commit
fa59d3ce32
11 changed files with 361 additions and 355 deletions
|
@ -1,5 +1,5 @@
|
|||
all:
|
||||
objfw-compile --lib 0.0 -o objxmpp *.m \
|
||||
objfw-compile -Wall --lib 0.0 -o objxmpp *.m \
|
||||
`pkg-config --cflags --libs libidn`
|
||||
|
||||
clean:
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
#include <stringprep.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include <stringprep.h>
|
||||
|
||||
#import "XMPPConnection.h"
|
||||
#import "XMPPStanza.h"
|
||||
#import "XMPPIQ.h"
|
||||
|
||||
#define NS_BIND @"urn:ietf:params:xml:ns:xmpp-bind"
|
||||
#define NS_CLIENT @"jabber:client"
|
||||
|
|
26
src/XMPPIQ.h
Normal file
26
src/XMPPIQ.h
Normal 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
24
src/XMPPIQ.m
Normal 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
82
src/XMPPMessage.h
Normal 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
57
src/XMPPMessage.m
Normal 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
96
src/XMPPPresence.h
Normal 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
70
src/XMPPPresence.m
Normal 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
|
204
src/XMPPStanza.h
204
src/XMPPStanza.h
|
@ -127,207 +127,3 @@
|
|||
*/
|
||||
- initWithElement: (OFXMLElement*)elem;
|
||||
@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
|
||||
|
|
148
src/XMPPStanza.m
148
src/XMPPStanza.m
|
@ -152,151 +152,3 @@
|
|||
stringValue: ID];
|
||||
}
|
||||
@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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
all:
|
||||
objfw-compile -o tests *.m -I../src -L../src -lobjxmpp
|
||||
objfw-compile -Wall -o tests *.m -I../src -L../src -lobjxmpp
|
||||
|
||||
clean:
|
||||
rm -f tests *.o
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue