/******************************************************************************* * libretroshare/src/services: p3wire.h * * * * libretroshare: retroshare core library * * * * Copyright 2012-2012 by Robert Fernie * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU Lesser General Public License as * * published by the Free Software Foundation, either version 3 of the * * License, or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public License * * along with this program. If not, see . * * * *******************************************************************************/ #ifndef P3_WIRE_SERVICE_HEADER #define P3_WIRE_SERVICE_HEADER #include "retroshare/rswire.h" #include "gxs/rsgenexchange.h" #include #include /* * Wire Service * * */ class p3Wire: public RsGenExchange, public RsWire { public: p3Wire(RsGeneralDataService* gds, RsNetworkExchangeService* nes, RsGixs *gixs); virtual RsServiceInfo getServiceInfo(); static uint32_t wireAuthenPolicy(); protected: virtual void notifyChanges(std::vector& changes) ; public: virtual void service_tick(); /* Specific Service Data */ virtual bool getGroupData(const uint32_t &token, std::vector &groups); virtual bool getPulseData(const uint32_t &token, std::vector &pulses); virtual bool createGroup(uint32_t &token, RsWireGroup &group); virtual bool createPulse(uint32_t &token, RsWirePulse &pulse); private: virtual void generateDummyData(); std::string genRandomId(); RsMutex mWireMtx; }; #endif