Changeset 69:89a39d7aed5a in xplra


Ignore:
Timestamp:
04/13/13 05:49:44 (11 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

The overview documentation of the C++ client library is done

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/overview.dox

    r68 r69  
    2525 * computer that runs X-Plane, but extending it with TCP/IP-based or
    2626 * network access would not be difficult. While client libraries are
    27  * provided for C, C++ and Python, the communication protocol between
    28  * clients and the plugin is open and is \ref proto "described" in
    29  * this documentation. So you can write your own client, if you wish.
     27 * provided for \ref cpplib "C, C++" and \ref pythonlib "Python",
     28 * the communication protocol between clients and the plugin is open
     29 * and is \ref proto "described" in  this documentation. So you can
     30 * write your own client library, if you wish.
    3031 */
    3132/*! \page proto Protocol
     
    698699 * byte | 0x00 (\ref RESULT_OK)
    699700 */
     701/*! \page cpplib C/C++ Client Library
     702 *
     703 * The C++ client library's central class is \ref
     704 * hu::varadiistvan::xplra::XPlane. To communicate with the XPLRA
     705 * plugin in X-Plane, create an instance of it. This, however, does
     706 * not establish the connection yet. To actually connect, call the
     707 * \ref hu::varadiistvan::xplra::XPlane::connect "connect" member
     708 * function. If the connection is established, it returns otherwise it
     709 * throws a \ref hu::varadiistvan::xplra::IOException.
     710 *
     711 * \c IOException is part of the exception hierarchy of the client
     712 * library. The hierarchy begins with \ref
     713 * hu::varadiistvan::xplra::Exception. The \c what function is
     714 * implemented for all exception classes, so you can always get a
     715 * string representation of the problem for logging or to display
     716 * it. \c IOException further makes available an error code, which is
     717 * the standard operating system-specific fault code of the I/O error
     718 * that occured.
     719 *
     720 * \ref hu::varadiistvan::xplra::ProtocolException is thrown for
     721 * errors returned by the plugin usually due to some incorrect
     722 * parameter. See also the \ref proto description for the meaning
     723 * and applicability of these error codes.
     724 *
     725 * The \c XPlane object can be reused in the sense, that after you
     726 * have made a connection, you can disconnect and then connect
     727 * again. This may be useful, if X-Plane crashes for some reason, and
     728 * you can then reconnect if the user has restarted it.
     729 *
     730 * The \ref hu::varadiistvan::xplra::XPlane::createMultiGetter
     731 * "createMultiGetter" function can be used to create a multi-dataref
     732 * query object. It returns an instance of
     733 * \ref hu::varadiistvan::xplra::MultiGetter "MultiGetter", which can
     734 * be used to store a number of datarefs and then execute a
     735 * multi-dataref query for those datarefs. Before execution, the query
     736 * can be \ref hu::varadiistvan::xplra::MultiBuffer::registerInXPlane
     737 * "registered" in the plugin, so that the client does not have to send
     738 * all the dataref information whenever the query is executed.
     739 *
     740 * The \c XPlane object knows about any multi-dataref query objects.
     741 * Therefore if you register such a multi-dataref query, and then the
     742 * connection breaks, and then you reconnect, the query will-be
     743 * re-registered too, i.e. you don't have to do it yourself.
     744 *
     745 * Similarly, the \ref hu::varadiistvan::xplra::XPlane::createMultiSetter
     746 * "createMultiSetter" function can be used to create a multi-dataref
     747 * update object. They are handled the same way by \c XPlane as the
     748 * query objects when it comes to registration and re-registration.
     749 *
     750 * The other functions of \c XPlane are mostly self-explanatory: they
     751 * perform the operations defined by the protocol. Several operations
     752 * have more than one corresponding functions with different
     753 * parameters for convenience.
     754 */
     755/*! \page pythonlib Python Client Library
     756 *
     757 */
Note: See TracChangeset for help on using the changeset viewer.