Add some documentation

This commit is contained in:
Florian Zeitz 2011-02-12 01:04:19 +01:00
parent 0e200d99d7
commit 0c7b90ec2d
3 changed files with 322 additions and 28 deletions

7
Doxyfile Normal file
View file

@ -0,0 +1,7 @@
PROJECT_NAME = "ObjXMPP"
OUTPUT_DIRECTORY = docs/
INPUT = src
FILE_PATTERNS = *.h *.m
HTML_OUTPUT = .
GENERATE_LATEX = NO
HIDE_UNDOC_CLASSES = YES

View file

@ -15,16 +15,43 @@
didReceiveMessage: (XMPPMessage*)msg; didReceiveMessage: (XMPPMessage*)msg;
@end @end
/**
* \brief A class that abstracts a connection to an XMPP service
*/
@interface XMPPConnection: OFObject <OFXMLElementBuilderDelegate> @interface XMPPConnection: OFObject <OFXMLElementBuilderDelegate>
{ {
OFTCPSocket *sock; OFTCPSocket *sock;
OFXMLParser *parser; OFXMLParser *parser;
OFXMLElementBuilder *elementBuilder; OFXMLElementBuilder *elementBuilder;
/**
* The username (local part of the JID) to connect with
*/
OFString *username; OFString *username;
/**
* The password to connect with
*/
OFString *password; OFString *password;
/**
* The server to connect to
*/
OFString *server; OFString *server;
/**
* The resource to connect with
*/
OFString *resource; OFString *resource;
/**
* The port to connect to
*/
short port; short port;
/**
* Whether to use TLS
*/
BOOL useTLS; BOOL useTLS;
id <XMPPConnectionDelegate> delegate; id <XMPPConnectionDelegate> delegate;
OFMutableArray *mechanisms; OFMutableArray *mechanisms;
@ -38,7 +65,20 @@
@property (assign) BOOL useTLS; @property (assign) BOOL useTLS;
@property (retain) id <XMPPConnectionDelegate> delegate; @property (retain) id <XMPPConnectionDelegate> delegate;
/**
* Connects to the XMPP service
*/
- (void)connect; - (void)connect;
/**
* Starts a loop handling incomming data
*/
- (void)handleConnection; - (void)handleConnection;
/**
* Sends a OFXMLElement (usually a XMPPStanza)
*
* \param elem The element to send
*/
- (void)sendStanza: (OFXMLElement*)elem; - (void)sendStanza: (OFXMLElement*)elem;
@end @end

View file

@ -1,10 +1,28 @@
#import <ObjFW/ObjFW.h> #import <ObjFW/ObjFW.h>
/**
* \brief A class describing a XMPP Stanza
*/
@interface XMPPStanza: OFXMLElement @interface XMPPStanza: OFXMLElement
{ {
/**
* The value of the stanza's from attribute
*/
OFString *from; OFString *from;
/**
* The value of the stanza's to attribute
*/
OFString *to; OFString *to;
/**
* The value of the stanza's type attribute
*/
OFString *type; OFString *type;
/**
* The value of the stanza's id attribute
*/
OFString *ID; OFString *ID;
} }
@ -13,74 +31,303 @@
@property (copy) OFString *type; @property (copy) OFString *type;
@property (copy) OFString *ID; @property (copy) OFString *ID;
/**
* Creates a new XMPPStanza with a certain name
*
* \param name The stanza's name (one of iq, message or presence)
* \return A new autoreleased XMPPStanza
*/
+ stanzaWithName: (OFString*)name; + stanzaWithName: (OFString*)name;
/**
* Creates a new XMPPStanza with a certain name and type
*
* \param name The stanza's name (one of iq, message or presence)
* \param type The value for the stanza's type attribute
* \return A new autoreleased XMPPStanza
*/
+ stanzaWithName: (OFString*)name + stanzaWithName: (OFString*)name
type: (OFString*)type_; type: (OFString*)type;
/**
* Creates a new XMPPStanza with a certain name and id
*
* \param name The stanza's name (one of iq, message or presence)
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPStanza
*/
+ stanzaWithName: (OFString*)name + stanzaWithName: (OFString*)name
ID: (OFString*)ID_; ID: (OFString*)ID;
/**
* Creates a new XMPPStanza with a certain name, type and id
*
* \param name The stanza's name (one of iq, message or presence)
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A new autoreleased XMPPStanza
*/
+ stanzaWithName: (OFString*)name + stanzaWithName: (OFString*)name
type: (OFString*)type_ type: (OFString*)type
ID: (OFString*)ID_; ID: (OFString*)ID;
/**
* Creates a new XMPPStanza from a OFXMLElement
*
* \param elem The element to base the XMPPStanza on
* \return A new autoreleased XMPPStanza
*/
+ stanzaWithElement: (OFXMLElement*)elem; + stanzaWithElement: (OFXMLElement*)elem;
/**
* Initializes an already allocated XMPPStanza with a certain name
*
* \param name The stanza's name (one of iq, message or presence)
* \return A initialized XMPPStanza
*/
- initWithName: (OFString*)name; - initWithName: (OFString*)name;
/**
* Initializes an already allocated XMPPStanza with a certain name and type
*
* \param name The stanza's name (one of iq, message or presence)
* \param type The value for the stanza's type attribute
* \return A initialized XMPPStanza
*/
- initWithName: (OFString*)name - initWithName: (OFString*)name
type: (OFString*)type_; type: (OFString*)type;
/**
* Initializes an already allocated XMPPStanza with a certain name and id
*
* \param name The stanza's name (one of iq, message or presence)
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPStanza
*/
- initWithName: (OFString*)name - initWithName: (OFString*)name
ID: (OFString*)ID_; ID: (OFString*)ID;
/**
* Initializes an already allocated XMPPStanza with a certain name, type and id
*
* \param name The stanza's name (one of iq, message or presence)
* \param type The value for the stanza's type attribute
* \param ID The value for the stanza's id attribute
* \return A initialized XMPPStanza
*/
- initWithName: (OFString*)name - initWithName: (OFString*)name
type: (OFString*)type_ type: (OFString*)type
ID: (OFString*)ID_; ID: (OFString*)ID;
/**
* Initializes an already allocated XMPPStanza based on a OFXMLElement
*
* \param elem The element to base the XMPPStanza on
* \return A initialized XMPPStanza
*/
- initWithElement: (OFXMLElement*)elem; - initWithElement: (OFXMLElement*)elem;
@end @end
/**
* \brief A class describing a IQ stanza
*/
@interface XMPPIQ: XMPPStanza @interface XMPPIQ: XMPPStanza
{ {
} }
+ IQWithType: (OFString*)type_ /**
ID: (OFString*)ID_; * 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;
- initWithType: (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 @end
/**
* \brief A class describing a message stanza
*/
@interface XMPPMessage: XMPPStanza @interface XMPPMessage: XMPPStanza
{ {
} }
/**
* Creates a new XMPPMessage
*
* \return A new autoreleased XMPPMessage
*/
+ message; + message;
+ messageWithID: (OFString*)ID_;
+ messageWithType: (OFString*)type_;
+ messageWithType: (OFString*)type_
ID: (OFString*)ID_;
/**
* 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; - init;
- initWithID: (OFString*)ID_;
- initWithType: (OFString*)type_;
- initWithType: (OFString*)type_
ID: (OFString*)ID_;
/**
* 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; - (void)addBody: (OFString*)body;
@end @end
/**
* \brief A class describing a presence stanza
*/
@interface XMPPPresence: XMPPStanza @interface XMPPPresence: XMPPStanza
{ {
} }
/**
* Creates a new XMPPPresence
*
* \return A new autoreleased XMPPPresence
*/
+ presence; + presence;
+ presenceWithID: (OFString*)ID_;
+ presenceWithType: (OFString*)type_;
+ presenceWithType: (OFString*)type_
ID: (OFString*)ID_;
/**
* 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; - init;
- initWithID: (OFString*)ID_;
- initWithType: (OFString*)type_;
- initWithType: (OFString*)type_
ID: (OFString*)ID_;
/**
* 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; - (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; - (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; - (void)addPriority: (int8_t)priority;
@end @end