00001
00002 #ifndef DATACHANNELPROVIDER_V1_04_01_H_
00003 #define DATACHANNELPROVIDER_V1_04_01_H_
00004
00005 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00006 # pragma once
00007 #endif
00008
00009 #include <string>
00010
00011 #include "ftc/IDataChannel.h"
00012 #include "ftc/ChannelClosedReason.h"
00013
00014 namespace tecgraf { namespace ftc { namespace v1_04_01 {
00015
00024 class DataChannelProvider {
00025 public:
00026
00030 virtual ~DataChannelProvider() {}
00031
00042 virtual IDataChannel* create_data_channel(void * requester, const std::string& data_id, bool read_only) = 0;
00043
00051 virtual void data_channel_closed(void * requester, const std::string& data_id, ChannelClosedReasons::ChannelClosedReason reason) = 0;
00052
00062 virtual bool is_locked(void * requester, std::string const& data_id) = 0;
00063
00064 };
00065
00066 } } }
00067
00068 #endif
00069