00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ADHOCHANDLER_H__
00016 #define ADHOCHANDLER_H__
00017
00018 #include "adhoc.h"
00019 #include "dataform.h"
00020
00021 #include <map>
00022
00023 namespace gloox
00024 {
00025
00035 class GLOOX_API AdhocHandler
00036 {
00037 public:
00041 virtual ~AdhocHandler() {}
00042
00048 virtual void handleAdhocSupport( const JID& remote, bool support ) = 0;
00049
00057 virtual void handleAdhocCommands( const JID& remote, const StringMap& commands ) = 0;
00058
00065 virtual void handleAdhocError( const JID& remote, StanzaError error ) = 0;
00066
00083 virtual void handleAdhocExecutionResult( const JID& remote, const std::string& command,
00084 Adhoc::AdhocCommandStatus status,
00085 const std::string& sessionid,
00086 const DataForm& form, int actions,
00087 Adhoc::AdhocExecuteActions defaultAction,
00088 const std::string& note, Adhoc::AdhocNoteType type ) = 0;
00089 };
00090
00091 }
00092
00093 #endif // ADHOCHANDLER_H__