gloox 0.9 发布(c++的xmpp/jabber库)

 gloox 是一个使用 C++ 实现的 Jabber/XMPP 的底层库(非界面),它使开发XMPP/JABBER客户端更为简单,并且可以让各种程序方便的嵌入XMPP的支持。它使用 GNU GPL 授权,也支持商业授权

0.9版主要支持以下功能
- full MUC support
- file transfer (XEPs 0065, 0095, 0096)
- XPath support
- HTTP and SOCKS5 proxy support

完整changelog:
    * rewrote XML parser (no dependency on iksemel anymore)
    * XEP-0045 (Multi-User Chat)
    * XEP-0065 (SOCKS5 Bytestreams)
    * XEP-0095 (Stream Initiation)
    * XEP-0096 (File Transfer)
    * added StanzaExtensions: XEP-0027 (Current Jabber OpenPGP Usage) abstraction, XEP-0066 (Out of Band Data) abstraction, XEP-0091 (Delayed Delivery) abstraction, XEP-0153 (vCard-Based Avatars) abstraction, XEP-0203 (Delayed Delivery) abstraction
    * SOCKS5 proxy support (RFC 1928), incl. username/password auth (RFC 1929)
    * HTTP proxy support, incl. Basic auth support
    * Tag: basic XPath support
    * added msec timeout to recv()
    * Client: fetch roster immediately after requesting roster:delimiter
    * Registration: allow registration with services
    * implement dataforms as list of pointers to DataformFields
    * ClientBase: cleaner Stanza deleting
    * Adhoc: full Adhoc support
    * Disco::getDiscoItems() and ::getDiscoInfo() take JIDs instead of std::strings
    * Tag: added virtual void addChild( const Tag *child )
    * DataForm: added ::type()
    * RosterManager: take JIDs in un/subscribe()/add()
    * RosterListener: announce JIDs, not std::strings
    * DataFormBase: added addField() to add a single field
    * DNS: SRV record resolving on win32 (thanks to Marc Rousseau)
    * Client: removed setInitialPriority() and setAutoPresence() in favour of setPresence()
    * support for SASL authorization id != authentication id
    * Disco: added removeFeature()
    * Tag: added setAttributes()
    * merged patch by Marc Rousseau to distiguish between incoming and outgoing Tags/Stanzas
    * moved several structs and enums into gloox namespace (mostly from *Handlers)
    * move Resource into gloox namespace (from RosterItem)
    * MessageEventFilter: fixed a bug where error messages triggered events
    * MessageEventFilter: honor feature-not-implemented error
    * Connection: included server name in dns error message (--> 'server.tld: connection refused')
    * ClientBase: onDisconnect() gets called if the connection got refused or DNS error occurred
    * statistics interface (connection/compression/encryption statistics and status, etc)
    * Tag: added 'TagList findChildren( std::string& )'
    * Disco: lifted limit of one DiscoNodeHandler per Node
    * Parser: install parser.h
    * Tag: added operator== & operator!=
    * ClientBase: added setCompression( bool ) to switch stream compression on/off
    * renamed Stanza::show() --> Stanza::presence()
    * RosterListener: moved Roster to gloox namespace
    * RosterListener: new handleRosterPresence() replaces itemUn/Available() and presenceUpdated()
    * RosterListener: added handleSelfPresence()
    * RosterListener: added 'handle' prefix to function names
    * MessageHandler: handleMessage() takes optional MessageSession arg
    * DiscoNodeHandler: added DiscoNodeItem to properly represent a disco#item
    * ClientBase: removed setAutoMessageSession() in favor of registerMessageSessionHandler()
    * PrivacyItem: renamed enum members from ALL_UPPER_CASE to MixedCase
    * PrivateXMLHandler: renamed enum members from ALL_UPPER_CASE to MixedCase
    * MessageSession: added filtering by message type
    * AdhocHandler: added 'handleAdhoc' prefix
    * Adhoc: handle Disco errors
    * removed unmaintained Dev-C++ project (in favor of Code::Blocks project)
    * ClientBase: added whitespacePing()
    * DNS: cleanup
    * TagHandler: now receives Tag, not Stanza
    * Parser: cleanup, now uses TagHandler
    * ClientBase: added removeIDHandler() to cancel trackID() operations
    * added DataFormField( const std::string&, const std::string&, const std::string&, DataFormFieldType );
    * ClientBase: added setSASLMechanisms()
    * revamped and modularized the entire connection backend
    * Adhoc: added JID to Adhoc item (thanks to Roelof Naude)
    * MUCRoom: fixed memleak (thanks to Roelof Naude)
    * ClientBase: added registerPresenceHandler( const JID& jid, PresenceHandler *ph )
    * MUCRoomParticipant: added 'status' member to hold the presence's status message
    * ClientBase/MessageSession: conform to XEP-0201
    * ClientBase: don't delete a MessageSession manually, use ClientBase::disposeMessageSession()
    * MessageSession: don't delete a MessageFilter manually, use MessageSession::disposeMessageFilter()
    * JID: added fullJID() & bareJID(), returning JID objects
    * Stanza: added setThread()
    * MUCRoomParticipant: added status member
    * VCardManager: allow cancellation of VCard operations
    * ConnectionListener/Client/Component: added stream events/onStreamEvent()
    * ClientBase: removed fileDescriptor(). Use ConnectionTCP instead.
    * Search::search(): Dataform *form --> const DataForm& form
    * Registration: fixed createAccount( const DataForm& form ) to do something useful
    * ported to Win CE/Mobile (experimental). see README.wince
    * ClientBase::setServer: update's Connection(Base)'s server as well
    * VCard: const *List& *() --> *List& *() to allow modification
    * Disco: minor spec compliance fixes
    * Adhoc: minor spec compliance fixes
    * Tag: added ctors to easily create a single attribute
    * ConnectionTCP: protected send() and recv() with simple Mutexes
    * GCC 4.3 compile fixes
    * OpenSSL: check cert dates
    * Parser: don't throw parse error on incoming </stream>
    * SIProfileFT: fixed ranged file transfers
    * Disco: more spec compliance fixes
    * DataFormField: added addValue()
    * Stanza: removed clone(), use: new Stanza( Tag* ); Tag::clone() is not affected
    * RosterManager: added cancel()
    * RosterManager: split unsubscribe() into unsubscribe() + remove()
    * Client: added presence(), status()
    * RosterListener: added handleRosterError()
    * PrivacyListHandler: handle unknown errors
    * TLSOpenSSL: don't throw handshake errors if the connection was closed by the server
    * allow manual deletion of MessageSessions again (thanks to Martin Milata)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值