* Copyright (c) 2010, 2011, Jonathan Schleifer <js@webkeks.org>
* Copyright (c) 2011, Florian Zeitz <florob@babelmonkeys.de>
*
- * https://webkeks.org/hg/objxmpp/
+ * http://cgit.babelmonkeys.de/cgit.cgi/mpdbot/
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include <assert.h>
-
#import <ObjFW/ObjFW.h>
#import <ObjXMPP/ObjXMPP.h>
[conn setDelegate: self];
if ([arguments count] != 3) {
- of_log(@"Invalid count of command line arguments!");
+ [of_stdout writeFormat: @"Usage: %@ <server> <user> <passwd>\n",
+ [OFApplication programName]];
[OFApplication terminateWithStatus: 1];
}
- (void)connectionWasAuthenticated: (XMPPConnection*)conn
{
- of_log(@"Auth successful");
+ [of_stdout writeLine: @"Auth successful"];
}
- (void)connection: (XMPPConnection*)conn
XMPPPresence *pres;
XMPPIQ *disco;
- of_log(@"Bound to JID: %@", [jid fullJID]);
+ [of_stdout writeFormat: @"Bound to JID: %@\n", [jid fullJID]];
pres = [XMPPPresence presence];
[pres addPriority: 0];
- (void)connection: (XMPPConnection*)conn
didReceivePresence: (XMPPPresence*)pres
{
- of_log(@"Presence: %@", pres);
+ if ([pres.type isEqual: @"subscribe"]) {
+ XMPPPresence *answer;
+ answer = [XMPPPresence presenceWithType: @"subscribed"
+ ID: pres.ID];
+ answer.to = [XMPPJID JIDWithString: [pres.from bareJID]];
+ [conn sendStanza: answer];
+ }
}
- (void)connectionWasClosed: (XMPPConnection*)conn
{
- of_log(@"Connection was closed!");
+ [of_stdout writeLine: @"Connection was closed!"];
}
@end