PageRenderTime 102ms CodeModel.GetById 51ms app.highlight 3ms RepoModel.GetById 47ms app.codeStats 0ms

/src/sip/jabber/tomahawksipmessagefactory.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 50 lines | 27 code | 6 blank | 17 comment | 0 complexity | 6cc9812c4281fc627b0b4c20300a33ee MD5 | raw file
 1/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
 2 *
 3 *   Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
 4 *
 5 *   Tomahawk is free software: you can redistribute it and/or modify
 6 *   it under the terms of the GNU General Public License as published by
 7 *   the Free Software Foundation, either version 3 of the License, or
 8 *   (at your option) any later version.
 9 *
10 *   Tomahawk is distributed in the hope that it will be useful,
11 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
12 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 *   GNU General Public License for more details.
14 *
15 *   You should have received a copy of the GNU General Public License
16 *   along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef ENTITYTIMEFACTORY_P_H
20#define ENTITYTIMEFACTORY_P_H
21
22#include "tomahawksipmessage.h"
23
24#include <jreen/stanzaextension.h>
25
26#include "../sipdllmacro.h"
27
28class SIPDLLEXPORT TomahawkSipMessageFactory : public Jreen::PayloadFactory<TomahawkSipMessage>
29{
30public:
31    TomahawkSipMessageFactory();
32    virtual ~TomahawkSipMessageFactory();
33    QStringList features() const;
34    bool canParse(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
35    void handleStartElement(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
36    void handleEndElement(const QStringRef &name, const QStringRef &uri);
37    void handleCharacterData(const QStringRef &text);
38    void serialize(Jreen::Payload *extension, QXmlStreamWriter *writer);
39    Jreen::Payload::Ptr createPayload();
40private:
41    enum State { AtNowhere, AtTransport, AtCandidate } m_state;
42    int m_depth;
43    QString m_ip;
44    int m_port;
45    QString m_uniqname;
46    QString m_key;
47    bool m_visible;
48};
49
50#endif // ENTITYTIMEFACTORY_P_H