Files
pvAccess/src/utils/pv/requester.h
Michael Davidsaver 0222463123 update requester.h
move to pvAccess namespace.
2017-07-12 14:26:28 +02:00

58 lines
1.4 KiB
C++

/* requester.h */
/*
* Copyright information and license terms for this software can be
* found in the file LICENSE that is included with the distribution
*/
/**
* @author mrk
*/
#ifndef REQUESTER_H
#define REQUESTER_H
#include <string>
#include <pv/pvType.h>
#include <pv/sharedPtr.h>
#include <shareLib.h>
namespace epics { namespace pvAccess {
class Requester;
typedef std::tr1::shared_ptr<Requester> RequesterPtr;
enum MessageType {
infoMessage,warningMessage,errorMessage,fatalErrorMessage
};
#define MESSAGE_TYPE_COUNT 4
epicsShareExtern std::string getMessageTypeName(MessageType messageType);
/** @brief Callback class for passing messages to a requester.
*/
class epicsShareClass Requester {
public:
POINTER_DEFINITIONS(Requester);
virtual ~Requester(){}
/**
* The requester must have a name.
* @return The requester's name.
*/
virtual std::string getRequesterName() = 0;
/** Push notification
*/
virtual void message(std::string const & message,MessageType messageType = errorMessage);
};
}}
namespace epics { namespace pvData {
using ::epics::pvAccess::Requester;
using ::epics::pvAccess::RequesterPtr;
using ::epics::pvAccess::MessageType;
using ::epics::pvAccess::getMessageTypeName;
using ::epics::pvAccess::infoMessage;
using ::epics::pvAccess::warningMessage;
using ::epics::pvAccess::errorMessage;
using ::epics::pvAccess::fatalErrorMessage;
}}
#endif /* REQUESTER_H */