XMPP.Framework simple client example

Header file:

#import <XMPP/XMPP.h>

@interface OurClass : NSObject
{
  XMPPConn *conn;
}

-(id)init;
-(void)dealloc;

-(void)connection:(XMPPConn *)con isInState:(XMPPConnState)state;
-(void)gotMessage:(XMPPMsg *)msg fromConnection:(XMPPConn *)con;

@end

And source file

@implementation OurClass

-(id)init
{
  BXJID *jid = [[BXJID alloc] initWithJIDString:@"guest@home.com"];

  conn = [[XMPPConn alloc] initWithJID:jid];

  [jid release];

  [conn setDelegate:self];
  [conn connect];
}



-(void)dealloc
{
  if ([conn isConnected])
  {
    [conn disconnect];
  }

  [conn release];
}



-(void)connection:(XMPPConn *)con isInState:(XMPPConnState)state
{
  XMPPMsg      *msg = nil;
  BXJID        *jid = nil;

  if (state == XMPPConnStateConnected)
  {
    [[jid alloc] initWithJIDString:@"landlord@home.com/Somewhere"];

    [conn setPresence:XMPPPresenceAvaliable status:@"Searching..." andPriority:5];

    [[msg alloc] initWithTo:jid];
    [[msg setSubject:@"Hello?"];
    [[msg setBody:@"Anyone there?"];

    [conn sendMsg:msg];

    [msg release];
    [jid release];
  }
}

-(void)gotMessage:(XMPPMsg *)msg fromConnection:(XMPPConn *)con
{
  NSLog(@"Got message from %@\n Subject: %@\n Body:\n %@\n", [[msg from] toString], [msg subject], [msg body]);
}

@end

Simple, isn't it? :D