logo       

r334 - in branches/libmsn-3.2.x: . doc: msg#00002

Subject: r334 - in branches/libmsn-3.2.x: . doc
Author: bdash
Date: 2005-02-05 20:20:41 +1300 (Sat, 05 Feb 2005)
New Revision: 334

Modified:
   branches/libmsn-3.2.x/README
   branches/libmsn-3.2.x/configure.ac
   branches/libmsn-3.2.x/doc/overview.txt
Log:
Update documentation to match current version + API changes.

Modified: branches/libmsn-3.2.x/README
===================================================================
--- branches/libmsn-3.2.x/README        2005-02-05 07:00:58 UTC (rev 333)
+++ branches/libmsn-3.2.x/README        2005-02-05 07:20:41 UTC (rev 334)
@@ -1,5 +1,5 @@
-libmsn 3.1
-============
+libmsn 3.2
+===========
 
 :Author: Mark Rowe
 :Contact: bdash-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@xxxxxxxxxxxxxxxx
@@ -12,6 +12,13 @@
 
 Whats New?
 ----------
+In 3.2:    With the release of libmsn 3.2 comes support for multiple 
simultaneous connections.  The
+           callback mechanism has been refactored so that it is easy to 
distinguish between each
+           connection's callbacks.  A large number of bug fixes have also been 
rolled in to this
+           release.
+In 3.1.1:  libmsn 3.1.1 is primarily a bug fix release.  Changes include 
fixing up the #include's
+           so that it compiles cleanly on a wider range of platforms, working 
file transfer
+           support and improved error handling.
 In 3.1:    libmsn 3.1 brings support for server-side groups for managing 
buddies.  It also
            features rewritten network code that should help reduce CPU usage, 
and the amount
            of time spent waiting for network data.

Modified: branches/libmsn-3.2.x/configure.ac
===================================================================
--- branches/libmsn-3.2.x/configure.ac  2005-02-05 07:00:58 UTC (rev 333)
+++ branches/libmsn-3.2.x/configure.ac  2005-02-05 07:20:41 UTC (rev 334)
@@ -2,8 +2,8 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.57)
-AC_INIT(libmsn, 3.1, bdash-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@xxxxxxxxxxxxxxxx)
-AM_INIT_AUTOMAKE(libmsn, 3.1)
+AC_INIT(libmsn, 3.2, bdash-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@xxxxxxxxxxxxxxxx)
+AM_INIT_AUTOMAKE(libmsn, 3.2)
 AC_CONFIG_SRCDIR([msn/md5.c])
 AM_CONFIG_HEADER([config.h])
 

Modified: branches/libmsn-3.2.x/doc/overview.txt
===================================================================
--- branches/libmsn-3.2.x/doc/overview.txt      2005-02-05 07:00:58 UTC (rev 
333)
+++ branches/libmsn-3.2.x/doc/overview.txt      2005-02-05 07:20:41 UTC (rev 
334)
@@ -9,7 +9,7 @@
 
 .. contents::
 
-This document contains a high level overview of ``libmsn`` 3.1.  ``libmsn`` 
3.1 is based on Meredydd Luff's ``libmsn`` 2.1, but is closer to a complete 
rewrite than a new version.
+This document contains a high level overview of ``libmsn`` 3.2.  ``libmsn`` 
3.2 is based on Meredydd Luff's ``libmsn`` 2.1, but is closer to a complete 
rewrite than a new version.
 
 ----------------------------------------
 An Overview of the MSN Messenger System
@@ -44,9 +44,9 @@
 Communication with the Library
 ==============================
 
-Communication with ``libmsn`` is done via an object-oriented ``API`` and a 
number of user-provided callback functions.  All callbacks are declared within 
`msn/externals.h`_, and are within the ``MSN::ext`` namespace.  All callbacks 
listed need to be defined, otherwise you will get linker errors when you 
attempt to build your program.  Many of the callbacks can be defined as an 
empty function, but those listed under `Required Callbacks`_ need to be 
implemented with the documented semantics.
+Communication with ``libmsn`` is done via an object-oriented ``API`` and 
user-provided callback functions.  An instance of a user-defined subclass of 
``MSN::Callbacks`` should be passed to the ``NotificationServerConnection`` 
constructor. All callbacks are declared within `msn/externals.h`_.  All 
callbacks listed need to be defined, otherwise you will get linker errors when 
you attempt to build your program.  Many of the callbacks can be defined as an 
empty function, but those listed under `Required Callbacks`_ need to be 
implemented with the documented semantics.
 
-.. _msn/externals.h: http://libmsn.bluewire.org.nz/svn/trunk/msn/externals.h
+.. _msn/externals.h: 
http://libmsn.bluewire.org.nz/svn/branches/libmsn-3.2.x/msn/externals.h
 
 
 Core Classes
@@ -77,13 +77,15 @@
      struct pollfd mySockets[32];
      int numberOfSockets = 0;
      MSN::NotificationServerConnection *mainConnection;
+     Callbacks cb;
 
      mainConnection = new
          
MSN::NotificationServerConnect("myPassport-hcDgGtZH8xNBDgjK7y7TUQ@xxxxxxxxxxxxxxxx",
 
-                                        "myS3cr3t");
+                                        "myS3cr3t",
+                                        cb);
      mainConnection->connect("messenger.hotmail.com", 1863);
 
-  ``libmsn`` will then register and unregister sockets to be checked for 
completed connections, available data, and writability by calling 
``MSN::ext::registerSocket`` and ``MSN::ext::unregisterSocket`` one or more 
times as is appropriate.
+  ``libmsn`` will then register and unregister sockets to be checked for 
completed connections, available data, and writability by calling 
``MSN::Callbacks::registerSocket`` and ``MSN::Callbacks::unregisterSocket`` one 
or more times as is appropriate.
 
 2. Enter your main event loop.  This may be based on ``select``, ``poll``, or 
a similar ``API`` that will notify you when data is available on a given 
socket::
 
@@ -145,13 +147,13 @@
 
 The following callbacks are required by ``libmsn`` to implement the documented 
semantics as they are used to integrate with your program:
 
-``int MSN::ext::connectToServer(std::string server, int port, bool 
*connected)``
+``int MSN::Callbacks::connectToServer(std::string server, int port, bool 
*connected)``
     Return an integer containing a socket that has been connected to 
server:port.  ``libmsn`` will call this when it wants to establish a connection 
a computer named ``server`` that is listening on ``port``.  The value ``true`` 
should be stored in ``*connected`` if the connection has completed, or 
``false`` if the connection did not complete.  ``-1`` should be returned if an 
error occurs.
 
-``void MSN::ext::registerSocket(int socket, int reading, int writing)``
+``void MSN::Callbacks::registerSocket(int socket, int reading, int writing)``
     Called by ``libmsn`` to inform you which events you should watch for on 
``socket``.  If ``reading`` is ``true``, then ``libmsn`` wishes to be informed 
when data arrives on the socket.  If ``writing`` is ``true``, ``libmsn`` wishes 
to be informed when it is possible to write data to ``socket``.
 
-``void MSN::ext::unregisterSocket(int socket)``
+``void MSN::Callbacks::unregisterSocket(int socket)``
     Called by ``libmsn`` to inform you that it no longer wishes to be notified 
of events relating to ``socket``.
 
 Optional Callbacks
@@ -177,20 +179,21 @@
     void *requestContext = <some data>;
     mainConnection->requestSwitchboardConnection(requestContext);
 
-``MSN::ext::gotSwitchboard`` will be called when the requested switchboard 
session is established.
+``MSN::Callbacks::gotSwitchboard`` will be called when the requested 
switchboard session is established.
 
 
 Inviting Buddies Into a Switchboard Session
 ============================================
 
-Once you have established a switchboard session, you need to invite your 
receiving buddy into the session.  You can do this by using the 
``SwitchboardServerConnection``'s ``inviteUser`` method.  Note that the buddy 
is not considered to have joined the session until 
``MSN::ext::buddyJoinedConversation`` has been called with the switchboard 
server and buddy as arguments.
+Once you have established a switchboard session, you need to invite your 
receiving buddy into the session.  You can do this by using the 
``SwitchboardServerConnection``'s ``inviteUser`` method.  Note that the buddy 
is not considered to have joined the session until 
``MSN::Callbacks::buddyJoinedConversation`` has been called with the 
switchboard server and buddy as arguments.
 
 Sending Instant Messages
 =========================
 
 When your switchboard session has been established, and buddies invited, you 
can then send an instant message.  ``libmsn`` represents messages with it's 
``Message`` class, so an instance needs to be created that contains the message 
that you wish to send.  This instance will then allow you to control such 
things as the font and color that the message will appear in.  The message can 
then be transmitted into the switchboard session by using the 
``SwitchboardServerConnection``'s ``sendMessage`` method::
 
-    MSN::SwitchboardServerConnection *theSwitchboard = <a switchboard 
connection>;
+    MSN::SwitchboardServerConnection *theSwitchboard =
+                                           <a switchboard connection>;
     MSN::Message msg(myMessageText);
     msg.setFontName("Courier New");
     msg.setFontEffects(MSN::Message::ITALIC_FONT);



-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
linux.arklinux....    user-groups.lin...    kde.usability/2...    ietf.ipp/2002-0...    mail.spam.spamc...    os.netbsd.devel...    audio.cd-record...    text.unicode.de...    php.documentati...    games.fps.halfl...    window-managers...    suse.oracle.gen...    bug-tracking.gn...    video.dvdrip.us...    xfree86.cvs/200...    java.netbeans.m...    network.argus/2...    culture.sf.kill...    debian.ports.al...    freebsd.questio...    qplus.devel/200...    handhelds.palm....   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe