diff --git a/pvtoolsSrc/eget.cpp b/pvtoolsSrc/eget.cpp index 941b521..a438525 100644 --- a/pvtoolsSrc/eget.cpp +++ b/pvtoolsSrc/eget.cpp @@ -80,7 +80,7 @@ void formatNTScalar(std::ostream& o, PVStructurePtr const & pvStruct) } std::ostream& formatVector(std::ostream& o, - String label, + string label, PVScalarArrayPtr const & pvScalarArray, bool transpose) { @@ -182,7 +182,7 @@ void formatNTEnum(std::ostream& o, PVStructurePtr const & pvStruct) } } -size_t getLongestString(shared_vector const & array) +size_t getLongestString(shared_vector const & array) { size_t max = 0; size_t len = array.size(); @@ -215,7 +215,7 @@ size_t getLongestString(PVScalarArrayPtr const & array) // labels are optional // if provided labels.size() must equals columnData.size() void formatTable(std::ostream& o, - shared_vector const & labels, + shared_vector const & labels, vector const & columnData, bool showHeader, bool transpose) { @@ -809,7 +809,7 @@ void formatNTImage(std::ostream& /*o*/, PVStructurePtr const & pvStruct) } typedef void(*NTFormatterFunc)(std::ostream& o, PVStructurePtr const & pvStruct); -typedef map NTFormatterLUTMap; +typedef map NTFormatterLUTMap; NTFormatterLUTMap ntFormatterLUT; void initializeNTFormatterLUT() @@ -845,7 +845,7 @@ void formatNT(std::ostream& o, PVFieldPtr const & pv) { PVStructurePtr pvStruct = static_pointer_cast(pv); { - String id = pvStruct->getField()->getID(); + string id = pvStruct->getField()->getID(); NTFormatterLUTMap::const_iterator formatter = ntFormatterLUT.find(id); if (formatter != ntFormatterLUT.end()) @@ -866,14 +866,14 @@ void formatNT(std::ostream& o, PVFieldPtr const & pv) o << *(pv.get()) << std::endl; } -void dumpValue(String const & channelName, PVField::shared_pointer const & pv) +void dumpValue(std::string const & channelName, PVField::shared_pointer const & pv) { if (!channelName.empty()) std::cout << channelName << std::endl; std::cout << *(pv.get()) << std::endl << std::endl; } -void printValue(String const & channelName, PVStructure::shared_pointer const & pv, bool forceTerseWithName = false) +void printValue(std::string const & channelName, PVStructure::shared_pointer const & pv, bool forceTerseWithName = false) { if (forceTerseWithName) { @@ -918,7 +918,7 @@ void printValue(String const & channelName, PVStructure::shared_pointer const & dumpValue(channelName, pv); } -static String emptyString; +static string emptyString; // only in ValueOnlyMode // NOTE: names might be empty @@ -943,14 +943,14 @@ void printValues(shared_vector const & names, vector(getPVDataCreate()->createPVScalarArray(pvString)); PVStringArray::svector values; values.push_back(getConvert()->toString(scalar)); - stringArray->replace(freeze(values)); + StringArray->replace(freeze(values)); - scalarArrays.push_back(stringArray); + scalarArrays.push_back(StringArray); } } else @@ -1046,7 +1046,7 @@ void usage (void) class ChannelGetRequesterImpl : public ChannelGetRequester { private: - String m_channelName; + string m_channelName; bool m_printValue; PVStructure::shared_pointer m_pvStructure; @@ -1058,19 +1058,19 @@ private: public: - ChannelGetRequesterImpl(String channelName, bool printValue) : + ChannelGetRequesterImpl(std::string channelName, bool printValue) : m_channelName(channelName), m_printValue(printValue), m_done(false) { } - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelGetRequesterImpl"; } - virtual void message(String const & message, MessageType messageType) + virtual void message(std::string const & message, MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -1084,7 +1084,7 @@ public: // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel get create: " << status << std::endl; + std::cerr << "[" << m_channelName << "] channel get create: " << dump_stack_only_on_debug(status) << std::endl; } channelGet->lastRequest(); @@ -1092,7 +1092,7 @@ public: } else { - std::cerr << "[" << m_channelName << "] failed to create channel get: " << status << std::endl; + std::cerr << "[" << m_channelName << "] failed to create channel get: " << dump_stack_only_on_debug(status) << std::endl; m_event.signal(); } } @@ -1107,7 +1107,7 @@ public: // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel get: " << status << std::endl; + std::cerr << "[" << m_channelName << "] channel get: " << dump_stack_only_on_debug(status) << std::endl; } // access smart pointers @@ -1125,7 +1125,7 @@ public: } else { - std::cerr << "[" << m_channelName << "] failed to get: " << status << std::endl; + std::cerr << "[" << m_channelName << "] failed to get: " << dump_stack_only_on_debug(status) << std::endl; } m_event.signal(); @@ -1159,26 +1159,26 @@ private: Event m_event; Event m_connectionEvent; bool m_successfullyConnected; - String m_channelName; + string m_channelName; PVStructure::shared_pointer m_lastResponse; bool m_done; public: - ChannelRPCRequesterImpl(String channelName) : + ChannelRPCRequesterImpl(std::string channelName) : m_successfullyConnected(false), m_channelName(channelName), m_done(false) { } - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelRPCRequesterImpl"; } - virtual void message(String const & message, MessageType messageType) + virtual void message(std::string const & message, MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -1190,7 +1190,7 @@ public: // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel RPC create: " << status << std::endl; + std::cerr << "[" << m_channelName << "] channel RPC create: " << dump_stack_only_on_debug(status) << std::endl; } { @@ -1202,7 +1202,7 @@ public: } else { - std::cerr << "[" << m_channelName << "] failed to create channel RPC: " << status << std::endl; + std::cerr << "[" << m_channelName << "] failed to create channel RPC: " << dump_stack_only_on_debug(status) << std::endl; m_connectionEvent.signal(); } } @@ -1216,7 +1216,7 @@ public: // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel RPC: " << status << std::endl; + std::cerr << "[" << m_channelName << "] channel RPC: " << dump_stack_only_on_debug(status) << std::endl; } // access smart pointers @@ -1234,7 +1234,7 @@ public: } else { - std::cerr << "[" << m_channelName << "] failed to RPC: " << status << std::endl; + std::cerr << "[" << m_channelName << "] failed to RPC: " << dump_stack_only_on_debug(status) << std::endl; } m_event.signal(); @@ -1288,18 +1288,18 @@ class MonitorRequesterImpl : public MonitorRequester { private: - String m_channelName; + string m_channelName; public: - MonitorRequesterImpl(String channelName) : m_channelName(channelName) {}; + MonitorRequesterImpl(std::string channelName) : m_channelName(channelName) {}; - virtual String getRequesterName() + virtual string getRequesterName() { return "MonitorRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -1309,7 +1309,7 @@ class MonitorRequesterImpl : public MonitorRequester if (status.isSuccess()) { /* - String str; + string str; structure->toString(&str); std::cout << str << std::endl; */ @@ -1325,7 +1325,7 @@ class MonitorRequesterImpl : public MonitorRequester } else { - std::cerr << "monitorConnect(" << status << ")" << std::endl; + std::cerr << "monitorConnect(" << dump_stack_only_on_debug(status) << ")" << std::endl; } } @@ -1724,7 +1724,7 @@ int main (int argc, char *argv[]) bool collectValues = (mode == ValueOnlyMode) && nPvs > 1 && !fromStream; vector collectedValues; - shared_vector collectedNames; + shared_vector collectedNames; if (collectValues) { collectedValues.reserve(nPvs); @@ -1886,7 +1886,7 @@ int main (int argc, char *argv[]) // service RPC mode else { - String authority; + string authority; if (validURI) { diff --git a/pvtoolsSrc/pvget.cpp b/pvtoolsSrc/pvget.cpp index 06ce127..313649d 100644 --- a/pvtoolsSrc/pvget.cpp +++ b/pvtoolsSrc/pvget.cpp @@ -61,7 +61,7 @@ void usage (void) , DEFAULT_REQUEST, DEFAULT_TIMEOUT); } -void printValue(String const & channelName, PVStructure::shared_pointer const & pv) +void printValue(std::string const & channelName, PVStructure::shared_pointer const & pv) { if (mode == ValueOnlyMode) { @@ -106,20 +106,20 @@ class ChannelGetRequesterImpl : public ChannelGetRequester BitSet::shared_pointer m_bitSet; Mutex m_pointerMutex; Event m_event; - String m_channelName; + string m_channelName; bool m_done; public: - ChannelGetRequesterImpl(String channelName) : m_channelName(channelName), m_done(false) {} + ChannelGetRequesterImpl(std::string channelName) : m_channelName(channelName), m_done(false) {} - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelGetRequesterImpl"; } - virtual void message(String const & message, MessageType messageType) + virtual void message(std::string const & message, MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -201,18 +201,18 @@ class MonitorRequesterImpl : public MonitorRequester { private: - String m_channelName; + string m_channelName; public: - MonitorRequesterImpl(String channelName) : m_channelName(channelName) {}; + MonitorRequesterImpl(std::string channelName) : m_channelName(channelName) {}; - virtual String getRequesterName() + virtual string getRequesterName() { return "MonitorRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -222,7 +222,7 @@ class MonitorRequesterImpl : public MonitorRequester if (status.isSuccess()) { /* - String str; + string str; structure->toString(&str); std::cout << str << std::endl; */ diff --git a/pvtoolsSrc/pvinfo.cpp b/pvtoolsSrc/pvinfo.cpp index cf9be31..2925170 100644 --- a/pvtoolsSrc/pvinfo.cpp +++ b/pvtoolsSrc/pvinfo.cpp @@ -151,9 +151,7 @@ int main (int argc, char *argv[]) channel->printInfo(); if (structure) { - String s; - structure->toString(&s); - std::cout << s << std::endl << std::endl; + std::cout << *structure << std::endl << std::endl; } else { diff --git a/pvtoolsSrc/pvput.cpp b/pvtoolsSrc/pvput.cpp index 9e4e5ad..74e0eee 100644 --- a/pvtoolsSrc/pvput.cpp +++ b/pvtoolsSrc/pvput.cpp @@ -55,7 +55,7 @@ size_t fromString(PVScalarArrayPtr const &pv, StringArray const & from, size_t f std::copy(from.begin() + fromStartIndex, from.begin() + fromStartIndex + count, valueList.begin()); processed += count; - pv->putFrom(freeze(valueList)); + pv->putFrom(freeze(valueList)); return processed; } @@ -142,9 +142,9 @@ size_t fromString(PVStructurePtr const & pvStructure, StringArray const & from, } else { // union/unionArray not supported - String message("fromString unsupported fieldType "); - TypeFunc::toString(&message,type); - throw std::logic_error(message); + std::ostringstream oss; + oss << "fromString unsupported fieldType " << type; + throw std::logic_error(oss.str()); } } catch (std::exception &ex) @@ -189,7 +189,7 @@ void usage (void) , DEFAULT_REQUEST, DEFAULT_TIMEOUT); } -void printValue(String const & channelName, PVStructure::shared_pointer const & pv) +void printValue(std::string const & channelName, PVStructure::shared_pointer const & pv) { if (mode == ValueOnlyMode) { @@ -256,22 +256,22 @@ class ChannelPutRequesterImpl : public ChannelPutRequester Mutex m_pointerMutex; Mutex m_eventMutex; auto_ptr m_event; - String m_channelName; + string m_channelName; AtomicBoolean m_done; public: - ChannelPutRequesterImpl(String channelName) : m_channelName(channelName) + ChannelPutRequesterImpl(std::string channelName) : m_channelName(channelName) { resetEvent(); } - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelPutRequesterImpl"; } - virtual void message(String const & message, MessageType messageType) + virtual void message(std::string const & message, MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -285,7 +285,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel put create: " << status << std::endl; + std::cerr << "[" << m_channelName << "] channel put create: " << dump_stack_only_on_debug(status) << std::endl; } // get immediately old value @@ -293,7 +293,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester } else { - std::cerr << "[" << m_channelName << "] failed to create channel put: " << status << std::endl; + std::cerr << "[" << m_channelName << "] failed to create channel put: " << dump_stack_only_on_debug(status) << std::endl; m_event->signal(); } } @@ -307,7 +307,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel get: " << status << std::endl; + std::cerr << "[" << m_channelName << "] channel get: " << dump_stack_only_on_debug(status) << std::endl; } m_done.set(); @@ -322,7 +322,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester } else { - std::cerr << "[" << m_channelName << "] failed to get: " << status << std::endl; + std::cerr << "[" << m_channelName << "] failed to get: " << dump_stack_only_on_debug(status) << std::endl; } m_event->signal(); @@ -335,14 +335,14 @@ class ChannelPutRequesterImpl : public ChannelPutRequester // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel put: " << status << std::endl; + std::cerr << "[" << m_channelName << "] channel put: " << dump_stack_only_on_debug(status) << std::endl; } m_done.set(); } else { - std::cerr << "[" << m_channelName << "] failed to put: " << status << std::endl; + std::cerr << "[" << m_channelName << "] failed to put: " << dump_stack_only_on_debug(status) << std::endl; } m_event->signal(); diff --git a/pvtoolsSrc/pvutils.cpp b/pvtoolsSrc/pvutils.cpp index 7fff54b..3a86132 100644 --- a/pvtoolsSrc/pvutils.cpp +++ b/pvtoolsSrc/pvutils.cpp @@ -16,25 +16,26 @@ using namespace std::tr1; using namespace epics::pvData; using namespace epics::pvAccess; -RequesterImpl::RequesterImpl(String const & requesterName) : +RequesterImpl::RequesterImpl(std::string const & requesterName) : m_requesterName(requesterName) { } -String RequesterImpl::getRequesterName() +string RequesterImpl::getRequesterName() { return "RequesterImpl"; } -void RequesterImpl::message(String const & message, MessageType messageType) +void RequesterImpl::message(std::string const & message, MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } -std::ostream& operator<<(std::ostream& o, const Status& s) +std::ostream& operator<<(std::ostream& o, const dump_stack_only_on_debug& d) { + const Status &s = d.status; o << '[' << Status::StatusTypeName[s.getType()] << "] "; - String msg = s.getMessage(); + string msg = s.getMessage(); if (!msg.empty()) { o << msg; @@ -46,7 +47,7 @@ std::ostream& operator<<(std::ostream& o, const Status& s) // dump stack trace only if on debug mode if (IS_LOGGABLE(logLevelDebug)) { - String sd = s.getStackDump(); + string sd = s.getStackDump(); if (!sd.empty()) { o << std::endl << sd; @@ -215,12 +216,12 @@ ChannelRequesterImpl::ChannelRequesterImpl(bool _printOnlyErrors) : { } -String ChannelRequesterImpl::getRequesterName() +string ChannelRequesterImpl::getRequesterName() { return "ChannelRequesterImpl"; } -void ChannelRequesterImpl::message(String const & message, MessageType messageType) +void ChannelRequesterImpl::message(std::string const & message, MessageType messageType) { if (!printOnlyErrors || messageType > warningMessage) std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; @@ -233,12 +234,12 @@ void ChannelRequesterImpl::channelCreated(const epics::pvData::Status& status, C // show warning if (!status.isOK()) { - std::cerr << "[" << channel->getChannelName() << "] channel create: " << status << std::endl; + std::cerr << "[" << channel->getChannelName() << "] channel create: " << dump_stack_only_on_debug(status) << std::endl; } } else { - std::cerr << "[" << channel->getChannelName() << "] failed to create a channel: " << status << std::endl; + std::cerr << "[" << channel->getChannelName() << "] failed to create a channel: " << dump_stack_only_on_debug(status) << std::endl; } } @@ -269,12 +270,12 @@ GetFieldRequesterImpl::GetFieldRequesterImpl(epics::pvAccess::Channel::shared_po } -String GetFieldRequesterImpl::getRequesterName() +string GetFieldRequesterImpl::getRequesterName() { return "GetFieldRequesterImpl"; } -void GetFieldRequesterImpl::message(String const & message, MessageType messageType) +void GetFieldRequesterImpl::message(std::string const & message, MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -286,7 +287,7 @@ void GetFieldRequesterImpl::getDone(const epics::pvData::Status& status, epics:: // show warning if (!status.isOK()) { - std::cerr << "[" << m_channel->getChannelName() << "] getField: " << status << std::endl; + std::cerr << "[" << m_channel->getChannelName() << "] getField: " << dump_stack_only_on_debug(status) << std::endl; } // assign smart pointers @@ -298,7 +299,7 @@ void GetFieldRequesterImpl::getDone(const epics::pvData::Status& status, epics:: else { // do not complain about missing field - //std::cerr << "[" << m_channel->getChannelName() << "] failed to get channel introspection data: " << status << std::endl; + //std::cerr << "[" << m_channel->getChannelName() << "] failed to get channel introspection data: " << dump_stack_only_on_debug(status) << std::endl; } m_event.signal(); diff --git a/pvtoolsSrc/pvutils.h b/pvtoolsSrc/pvutils.h index 3f71179..af319ac 100644 --- a/pvtoolsSrc/pvutils.h +++ b/pvtoolsSrc/pvutils.h @@ -3,9 +3,9 @@ #include /// terse mode functions -void convertStructure(epics::pvData::StringBuilder buffer, epics::pvData::PVStructure *data, int notFirst); -void convertArray(epics::pvData::StringBuilder buffer, epics::pvData::PVScalarArray * pv, int notFirst); -void convertStructureArray(epics::pvData::StringBuilder buffer, epics::pvData::PVStructureArray * pvdata, int notFirst); +void convertStructure(std::string* buffer, epics::pvData::PVStructure *data, int notFirst); +void convertArray(std::string*, epics::pvData::PVScalarArray * pv, int notFirst); +void convertStructureArray(std::string*, epics::pvData::PVStructureArray * pvdata, int notFirst); void terseSeparator(char c); void terseArrayCount(bool flag); @@ -39,12 +39,12 @@ class RequesterImpl : public epics::pvData::Requester { public: - RequesterImpl(epics::pvData::String const & requesterName); - virtual epics::pvData::String getRequesterName(); - virtual void message(epics::pvData::String const & message, epics::pvData::MessageType messageType); + RequesterImpl(std::string const & requesterName); + virtual std::string getRequesterName(); + virtual void message(std::string const & message, epics::pvData::MessageType messageType); private: - epics::pvData::String m_requesterName; + std::string m_requesterName; }; class ChannelRequesterImpl : @@ -58,8 +58,8 @@ class ChannelRequesterImpl : ChannelRequesterImpl(bool printOnlyErrors = false); - virtual epics::pvData::String getRequesterName(); - virtual void message(epics::pvData::String const & message, epics::pvData::MessageType messageType); + virtual std::string getRequesterName(); + virtual void message(std::string const & message, epics::pvData::MessageType messageType); virtual void channelCreated(const epics::pvData::Status& status, epics::pvAccess::Channel::shared_pointer const & channel); virtual void channelStateChange(epics::pvAccess::Channel::shared_pointer const & channel, epics::pvAccess::Channel::ConnectionState connectionState); @@ -80,8 +80,8 @@ class GetFieldRequesterImpl : GetFieldRequesterImpl(epics::pvAccess::Channel::shared_pointer channel); - virtual epics::pvData::String getRequesterName(); - virtual void message(epics::pvData::String const & message, epics::pvData::MessageType messageType); + virtual std::string getRequesterName(); + virtual void message(std::string const & message, epics::pvData::MessageType messageType); virtual void getDone(const epics::pvData::Status& status, epics::pvData::FieldConstPtr const & field); @@ -90,4 +90,12 @@ class GetFieldRequesterImpl : bool waitUntilFieldGet(double timeOut); }; -std::ostream& operator<<(std::ostream& o, const epics::pvData::Status& s); + +struct dump_stack_only_on_debug +{ + const epics::pvData::Status &status; + + dump_stack_only_on_debug(const epics::pvData::Status &s) : status(s) {} +}; + +std::ostream& operator<<(std::ostream& os, const dump_stack_only_on_debug& d); \ No newline at end of file diff --git a/src/ca/caChannel.cpp b/src/ca/caChannel.cpp index 07ab5ec..ab8f043 100644 --- a/src/ca/caChannel.cpp +++ b/src/ca/caChannel.cpp @@ -13,6 +13,8 @@ using namespace epics::pvData; using namespace epics::pvAccess; using namespace epics::pvAccess::ca; +using std::string; + #define EXCEPTION_GUARD(code) try { code; } \ catch (std::exception &e) { LOG(logLevelError, "Unhandled exception caught from client code at %s:%d: %s", __FILE__, __LINE__, e.what()); } \ catch (...) { LOG(logLevelError, "Unhandled exception caught from client code at %s:%d.", __FILE__, __LINE__); } @@ -24,7 +26,7 @@ using namespace epics::pvAccess::ca; PVACCESS_REFCOUNT_MONITOR_DEFINE(caChannel); CAChannel::shared_pointer CAChannel::create(ChannelProvider::shared_pointer const & channelProvider, - epics::pvData::String const & channelName, + std::string const & channelName, short priority, ChannelRequester::shared_pointer const & channelRequester) { @@ -55,7 +57,7 @@ static ScalarType dbr2ST[] = pvDouble // DBR_DOUBLE = 6 }; -static Structure::const_shared_pointer createStructure(CAChannel::shared_pointer const & channel, String const & properties) +static Structure::const_shared_pointer createStructure(CAChannel::shared_pointer const & channel, string const & properties) { StandardFieldPtr standardField = getStandardField(); Structure::const_shared_pointer structure; @@ -97,7 +99,7 @@ static void ca_get_labels_handler(struct event_handler_args args) } } -static PVStructure::shared_pointer createPVStructure(CAChannel::shared_pointer const & channel, String const & properties) +static PVStructure::shared_pointer createPVStructure(CAChannel::shared_pointer const & channel, string const & properties) { PVStructure::shared_pointer pvStructure = getPVDataCreate()->createPVStructure(createStructure(channel, properties)); if (channel->getNativeType() == DBR_ENUM) @@ -127,7 +129,7 @@ static PVStructure::shared_pointer createPVStructure(CAChannel::shared_pointer c static PVStructure::shared_pointer createPVStructure(CAChannel::shared_pointer const & channel, chtype dbrType) { // NOTE: value is always there - String properties; + string properties; if (dbrType >= DBR_CTRL_STRING) // 28 { if (dbrType != DBR_CTRL_STRING && dbrType != DBR_CTRL_ENUM) @@ -161,7 +163,7 @@ void CAChannel::connected() channelType = ca_field_type(channelID); // no valueAlarm and control,display for non-numeric type - String allProperties = + string allProperties = (channelType != DBR_STRING && channelType != DBR_ENUM) ? "value,timeStamp,alarm,display,valueAlarm,control" : "value,timeStamp,alarm"; @@ -180,7 +182,7 @@ void CAChannel::disconnected() EXCEPTION_GUARD(channelRequester->channelStateChange(shared_from_this(), Channel::DISCONNECTED)); } -CAChannel::CAChannel(epics::pvData::String const & _channelName, +CAChannel::CAChannel(std::string const & _channelName, ChannelProvider::shared_pointer const & _channelProvider, ChannelRequester::shared_pointer const & _channelRequester) : channelName(_channelName), @@ -207,7 +209,7 @@ void CAChannel::activate(short priority) } else { - Status errorStatus(Status::STATUSTYPE_ERROR, String(ca_message(result))); + Status errorStatus(Status::STATUSTYPE_ERROR, string(ca_message(result))); EXCEPTION_GUARD(channelRequester->channelCreated(errorStatus, shared_from_this())); } } @@ -242,9 +244,9 @@ std::tr1::shared_ptr CAChannel::getProvider() } -epics::pvData::String CAChannel::getRemoteAddress() +std::string CAChannel::getRemoteAddress() { - return epics::pvData::String(ca_host_name(channelID)); + return std::string(ca_host_name(channelID)); } @@ -262,7 +264,7 @@ Channel::ConnectionState CAChannel::getConnectionState() } -epics::pvData::String CAChannel::getChannelName() +std::string CAChannel::getChannelName() { return channelName; } @@ -281,7 +283,7 @@ bool CAChannel::isConnected() void CAChannel::getField(GetFieldRequester::shared_pointer const & requester, - epics::pvData::String const & subField) + std::string const & subField) { Field::const_shared_pointer field = subField.empty() ? @@ -381,36 +383,34 @@ ChannelArray::shared_pointer CAChannel::createChannelArray( void CAChannel::printInfo() { - String info; - printInfo(&info); - std::cout << info.c_str() << std::endl; + printInfo(std::cout); } -void CAChannel::printInfo(epics::pvData::StringBuilder out) +void CAChannel::printInfo(std::ostream& out) { - out->append( "CHANNEL : "); out->append(getChannelName()); + out << "CHANNEL : " << getChannelName() << std::endl; + ConnectionState state = getConnectionState(); - out->append("\nSTATE : "); out->append(ConnectionStateNames[state]); + out << "STATE : " << ConnectionStateNames[state] << std::endl; if (state == CONNECTED) { - out->append("\nADDRESS : "); out->append(getRemoteAddress()); - //out->append("\nRIGHTS : "); out->append(getAccessRights()); + out << "ADDRESS : " << getRemoteAddress() << std::endl; + //out << "RIGHTS : " << getAccessRights() << std::endl; } - out->append("\n"); } /* --------------- epics::pvData::Requester --------------- */ -String CAChannel::getRequesterName() +string CAChannel::getRequesterName() { return getChannelName(); } -void CAChannel::message(String const & message,MessageType messageType) +void CAChannel::message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -588,12 +588,12 @@ void copy_DBR(const void * dbr, unsigned c // string specialization template<> -void copy_DBR(const void * dbr, unsigned count, PVStructure::shared_pointer const & pvStructure) +void copy_DBR(const void * dbr, unsigned count, PVStructure::shared_pointer const & pvStructure) { if (count == 1) { std::tr1::shared_ptr value = std::tr1::static_pointer_cast(pvStructure->getSubField("value")); - value->put(String(static_cast(dbr))); + value->put(std::string(static_cast(dbr))); } else { @@ -623,7 +623,7 @@ void copy_DBR(const void * dbr, u } } -static String dbrStatus2alarmMessage[] = { +static string dbrStatus2alarmMessage[] = { "NO_ALARM", // 0 .. "READ_ALARM", "WRITE_ALARM", @@ -701,7 +701,7 @@ void copy_format(const void * dbr, PVStructure::shared_pointer const & pvDisp { \ char fmt[16]; \ sprintf(fmt, "%%.%df", data->precision); \ - pvDisplayStructure->getStringField("format")->put(String(fmt)); \ + pvDisplayStructure->getStringField("format")->put(std::string(fmt)); \ } \ else \ { \ @@ -728,7 +728,7 @@ void copy_DBR_GR(const void * dbr, unsigned count, PVStructure::shared_pointer c alarm->getStringField("message")->put(dbrStatus2alarmMessage[data->status]); PVStructure::shared_pointer disp = pvStructure->getStructureField("display"); - disp->getStringField("units")->put(String(data->units)); + disp->getStringField("units")->put(std::string(data->units)); disp->getDoubleField("limitHigh")->put(data->upper_disp_limit); disp->getDoubleField("limitLow")->put(data->lower_disp_limit); @@ -766,7 +766,7 @@ void copy_DBR_CTRL(const void * dbr, unsigned count, PVStructure::shared_pointer alarm->getStringField("message")->put(dbrStatus2alarmMessage[data->status]); PVStructure::shared_pointer disp = pvStructure->getStructureField("display"); - disp->getStringField("units")->put(String(data->units)); + disp->getStringField("units")->put(std::string(data->units)); disp->getDoubleField("limitHigh")->put(data->upper_disp_limit); disp->getDoubleField("limitLow")->put(data->lower_disp_limit); @@ -798,7 +798,7 @@ void copy_DBR_CTRL static copyDBRtoPVStructure copyFuncTable[] = { - copy_DBR, // DBR_STRING + copy_DBR, // DBR_STRING copy_DBR, // DBR_INT, DBR_SHORT copy_DBR, // DBR_FLOAT copy_DBR, // DBR_ENUM @@ -806,7 +806,7 @@ static copyDBRtoPVStructure copyFuncTable[] = copy_DBR, // DBR_LONG copy_DBR, // DBR_DOUBLE - copy_DBR_STS, // DBR_STS_STRING + copy_DBR_STS, // DBR_STS_STRING copy_DBR_STS, // DBR_STS_INT, DBR_STS_SHORT copy_DBR_STS, // DBR_STS_FLOAT copy_DBR_STS, // DBR_STS_ENUM @@ -814,7 +814,7 @@ static copyDBRtoPVStructure copyFuncTable[] = copy_DBR_STS, // DBR_STS_LONG copy_DBR_STS, // DBR_STS_DOUBLE - copy_DBR_TIME, // DBR_TIME_STRING + copy_DBR_TIME, // DBR_TIME_STRING copy_DBR_TIME, // DBR_TIME_INT, DBR_TIME_SHORT copy_DBR_TIME, // DBR_TIME_FLOAT copy_DBR_TIME, // DBR_TIME_ENUM @@ -822,7 +822,7 @@ static copyDBRtoPVStructure copyFuncTable[] = copy_DBR_TIME, // DBR_TIME_LONG copy_DBR_TIME, // DBR_TIME_DOUBLE - copy_DBR_STS, // DBR_GR_STRING -> DBR_STS_STRING + copy_DBR_STS, // DBR_GR_STRING -> DBR_STS_STRING copy_DBR_GR, // DBR_GR_INT, DBR_GR_SHORT copy_DBR_GR, // DBR_GR_FLOAT copy_DBR_GR, // DBR_GR_ENUM @@ -830,7 +830,7 @@ static copyDBRtoPVStructure copyFuncTable[] = copy_DBR_GR, // DBR_GR_LONG copy_DBR_GR, // DBR_GR_DOUBLE - copy_DBR_STS, // DBR_CTRL_STRING -> DBR_STS_STRING + copy_DBR_STS, // DBR_CTRL_STRING -> DBR_STS_STRING copy_DBR_CTRL, // DBR_CTRL_INT, DBR_CTRL_SHORT copy_DBR_CTRL, // DBR_CTRL_FLOAT copy_DBR_CTRL, // DBR_CTRL_ENUM @@ -856,7 +856,7 @@ void CAChannelGet::getDone(struct event_handler_args &args) } else { - Status errorStatus(Status::STATUSTYPE_ERROR, String(ca_message(args.status))); + Status errorStatus(Status::STATUSTYPE_ERROR, string(ca_message(args.status))); EXCEPTION_GUARD(channelGetRequester->getDone(errorStatus, shared_from_this(), PVStructure::shared_pointer(), BitSet::shared_pointer())); } } @@ -872,7 +872,7 @@ void CAChannelGet::get() } else { - Status errorStatus(Status::STATUSTYPE_ERROR, String(ca_message(result))); + Status errorStatus(Status::STATUSTYPE_ERROR, string(ca_message(result))); EXCEPTION_GUARD(channelGetRequester->getDone(errorStatus, shared_from_this(), PVStructure::shared_pointer(), BitSet::shared_pointer())); } @@ -1032,7 +1032,7 @@ int doPut_pvStructure(CAChannel::shared_pointer const & channel, void *usrArg, P // string specialization template<> -int doPut_pvStructure(CAChannel::shared_pointer const & channel, void *usrArg, PVStructure::shared_pointer const & pvStructure) +int doPut_pvStructure(CAChannel::shared_pointer const & channel, void *usrArg, PVStructure::shared_pointer const & pvStructure) { bool isScalarValue = pvStructure->getStructure()->getField("value")->getType() == scalar; @@ -1040,7 +1040,7 @@ int doPut_pvStructure(CAChannel::shar { std::tr1::shared_ptr value = std::tr1::static_pointer_cast(pvStructure->getSubField("value")); - String val = value->get(); + string val = value->get(); int result = ca_array_put_callback(channel->getNativeType(), 1, channel->getChannelID(), val.c_str(), ca_put_handler, usrArg); @@ -1057,7 +1057,7 @@ int doPut_pvStructure(CAChannel::shar std::tr1::shared_ptr value = std::tr1::static_pointer_cast(pvStructure->getScalarArrayField("value", pvString)); - //const String* val = value->get(); + //const string* val = value->get(); int result = ECA_NOSUPPORT; // TODO /* int result = ca_array_put_callback(channel->getNativeType(), value->getLength(), @@ -1104,7 +1104,7 @@ int doPut_pvStructure(CAChannel:: static doPut doPutFuncTable[] = { - doPut_pvStructure, // DBR_STRING + doPut_pvStructure, // DBR_STRING doPut_pvStructure, // DBR_INT, DBR_SHORT doPut_pvStructure, // DBR_FLOAT doPut_pvStructure, // DBR_ENUM @@ -1125,7 +1125,7 @@ void CAChannelPut::putDone(struct event_handler_args &args) } else { - Status errorStatus(Status::STATUSTYPE_ERROR, String(ca_message(args.status))); + Status errorStatus(Status::STATUSTYPE_ERROR, string(ca_message(args.status))); EXCEPTION_GUARD(channelPutRequester->putDone(errorStatus, shared_from_this())); } } @@ -1141,7 +1141,7 @@ void CAChannelPut::put(PVStructure::shared_pointer const & pvPutStructure, int result = putFunc(channel, this, pvPutStructure); if (result != ECA_NORMAL) { - Status errorStatus(Status::STATUSTYPE_ERROR, String(ca_message(result))); + Status errorStatus(Status::STATUSTYPE_ERROR, string(ca_message(result))); EXCEPTION_GUARD(channelPutRequester->putDone(errorStatus, shared_from_this())); } } @@ -1174,7 +1174,7 @@ void CAChannelPut::getDone(struct event_handler_args &args) } else { - Status errorStatus(Status::STATUSTYPE_ERROR, String(ca_message(args.status))); + Status errorStatus(Status::STATUSTYPE_ERROR, string(ca_message(args.status))); EXCEPTION_GUARD(channelPutRequester->getDone(errorStatus, shared_from_this(), PVStructure::shared_pointer(), BitSet::shared_pointer())); } @@ -1195,7 +1195,7 @@ void CAChannelPut::get() } else { - Status errorStatus(Status::STATUSTYPE_ERROR, String(ca_message(result))); + Status errorStatus(Status::STATUSTYPE_ERROR, string(ca_message(result))); EXCEPTION_GUARD(channelPutRequester->getDone(errorStatus, shared_from_this(), PVStructure::shared_pointer(), BitSet::shared_pointer())); } @@ -1334,7 +1334,7 @@ void CAChannelMonitor::subscriptionEvent(struct event_handler_args &args) } else { - //Status errorStatus(Status::STATUSTYPE_ERROR, String(ca_message(args.status))); + //Status errorStatus(Status::STATUSTYPE_ERROR, string(ca_message(args.status))); //EXCEPTION_GUARD(channelMonitorRequester->MonitorDone(errorStatus)); } } @@ -1354,7 +1354,7 @@ epics::pvData::Status CAChannelMonitor::start() } else { - return Status(Status::STATUSTYPE_ERROR, String(ca_message(result))); + return Status(Status::STATUSTYPE_ERROR, string(ca_message(result))); } } @@ -1369,7 +1369,7 @@ epics::pvData::Status CAChannelMonitor::stop() } else { - return Status(Status::STATUSTYPE_ERROR, String(ca_message(result))); + return Status(Status::STATUSTYPE_ERROR, string(ca_message(result))); } } diff --git a/src/ca/caChannel.h b/src/ca/caChannel.h index e0db30a..2966e7d 100644 --- a/src/ca/caChannel.h +++ b/src/ca/caChannel.h @@ -25,7 +25,7 @@ public: POINTER_DEFINITIONS(CAChannel); static shared_pointer create(ChannelProvider::shared_pointer const & channelProvider, - epics::pvData::String const & channelName, + std::string const & channelName, short priority, ChannelRequester::shared_pointer const & channelRequester); @@ -41,13 +41,13 @@ public: /* --------------- epics::pvAccess::Channel --------------- */ virtual std::tr1::shared_ptr getProvider(); - virtual epics::pvData::String getRemoteAddress(); + virtual std::string getRemoteAddress(); virtual ConnectionState getConnectionState(); - virtual epics::pvData::String getChannelName(); + virtual std::string getChannelName(); virtual std::tr1::shared_ptr getChannelRequester(); virtual bool isConnected(); - virtual void getField(GetFieldRequester::shared_pointer const & requester,epics::pvData::String const & subField); + virtual void getField(GetFieldRequester::shared_pointer const & requester,std::string const & subField); virtual AccessRights getAccessRights(epics::pvData::PVField::shared_pointer const & pvField); @@ -81,13 +81,13 @@ public: virtual void printInfo(); - virtual void printInfo(epics::pvData::StringBuilder out); + virtual void printInfo(std::ostream& out); /* --------------- epics::pvData::Requester --------------- */ - virtual epics::pvData::String getRequesterName(); + virtual std::string getRequesterName(); - virtual void message(epics::pvData::String const & message, epics::pvData::MessageType messageType); + virtual void message(std::string const & message, epics::pvData::MessageType messageType); /* --------------- epics::pvData::Destroyable --------------- */ @@ -100,12 +100,12 @@ public: private: - CAChannel(epics::pvData::String const & channelName, + CAChannel(std::string const & channelName, ChannelProvider::shared_pointer const & channelProvider, ChannelRequester::shared_pointer const & channelRequester); void activate(short priority); - epics::pvData::String channelName; + std::string channelName; ChannelProvider::shared_pointer channelProvider; ChannelRequester::shared_pointer channelRequester; diff --git a/src/ca/caProvider.cpp b/src/ca/caProvider.cpp index 0de7be2..2087701 100644 --- a/src/ca/caProvider.cpp +++ b/src/ca/caProvider.cpp @@ -25,7 +25,7 @@ using namespace epics::pvAccess::ca; catch (std::exception &e) { LOG(logLevelError, "Unhandled exception caught from client code at %s:%d: %s", __FILE__, __LINE__, e.what()); } \ catch (...) { LOG(logLevelError, "Unhandled exception caught from client code at %s:%d.", __FILE__, __LINE__); } -String CAChannelProvider::PROVIDER_NAME = "ca"; +std::string CAChannelProvider::PROVIDER_NAME = "ca"; CAChannelProvider::CAChannelProvider() { @@ -36,13 +36,13 @@ CAChannelProvider::~CAChannelProvider() { } -epics::pvData::String CAChannelProvider::getProviderName() +std::string CAChannelProvider::getProviderName() { return PROVIDER_NAME; } ChannelFind::shared_pointer CAChannelProvider::channelFind( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelFindRequester::shared_pointer const & channelFindRequester) { if (channelName.empty()) @@ -71,19 +71,19 @@ ChannelFind::shared_pointer CAChannelProvider::channelList( } Channel::shared_pointer CAChannelProvider::createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short priority) { - static String emptyString; + static std::string emptyString; return createChannel(channelName, channelRequester, priority, emptyString); } Channel::shared_pointer CAChannelProvider::createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short priority, - epics::pvData::String const & address) + std::string const & address) { if (!address.empty()) throw std::invalid_argument("CA does not support 'address' parameter"); @@ -162,7 +162,7 @@ class CAChannelProviderFactoryImpl : public ChannelProviderFactory public: POINTER_DEFINITIONS(CAChannelProviderFactoryImpl); - virtual epics::pvData::String getFactoryName() + virtual std::string getFactoryName() { return CAChannelProvider::PROVIDER_NAME; } diff --git a/src/ca/caProvider.h b/src/ca/caProvider.h index a40afd7..66f5999 100644 --- a/src/ca/caProvider.h +++ b/src/ca/caProvider.h @@ -22,32 +22,32 @@ class epicsShareClass CAChannelProvider : { public: - static epics::pvData::String PROVIDER_NAME; + static std::string PROVIDER_NAME; CAChannelProvider(); virtual ~CAChannelProvider(); /* --------------- epics::pvAccess::ChannelProvider --------------- */ - virtual epics::pvData::String getProviderName(); + virtual std::string getProviderName(); virtual ChannelFind::shared_pointer channelFind( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelFindRequester::shared_pointer const & channelFindRequester); virtual ChannelFind::shared_pointer channelList( ChannelListRequester::shared_pointer const & channelListRequester); virtual Channel::shared_pointer createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short priority); virtual Channel::shared_pointer createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short priority, - epics::pvData::String const & address); + std::string const & address); virtual void configure(epics::pvData::PVStructure::shared_pointer configuration); virtual void flush(); diff --git a/src/client/pvAccess.h b/src/client/pvAccess.h index 1b1ad1c..586bb3e 100644 --- a/src/client/pvAccess.h +++ b/src/client/pvAccess.h @@ -606,7 +606,7 @@ namespace pvAccess { /** * Interface for accessing a channel. - * A channel is created via a call to ChannelAccess.createChannel(String channelName). + * A channel is created via a call to ChannelAccess.createChannel(std::string channelName). */ class epicsShareClass Channel : public epics::pvData::Requester, @@ -635,7 +635,7 @@ namespace pvAccess { * Returns the channel's remote address, e.g. "/192.168.1.101:5064" or "#C0 S1". * @return the channel's remote address. **/ - virtual epics::pvData::String getRemoteAddress() = 0; + virtual std::string getRemoteAddress() = 0; /** * Returns the connection state of this channel. @@ -647,7 +647,7 @@ namespace pvAccess { * Get the channel name. * @return The name. */ - virtual epics::pvData::String getChannelName() = 0; + virtual std::string getChannelName() = 0; /** * Get the channel epics::pvData::Requester. @@ -668,9 +668,9 @@ namespace pvAccess { * This is for clients that want to introspect a PVRecord via channel access. * @param epics::pvData::Requester The epics::pvData::Requester. * @param subField The name of the subField. - * If this is null or an empty epics::pvData::String the returned Field is for the entire record. + * If this is null or an empty std::string the returned Field is for the entire record. */ - virtual void getField(GetFieldRequester::shared_pointer const & requester,epics::pvData::String const & subField) = 0; + virtual void getField(GetFieldRequester::shared_pointer const & requester,std::string const & subField) = 0; /** * Get the access rights for a field of a PVStructure created via a call to createPVStructure. @@ -775,7 +775,7 @@ namespace pvAccess { * Prints detailed information about the context to the specified output stream. * @param out the output stream. */ - virtual void printInfo(epics::pvData::StringBuilder out) = 0; + virtual void printInfo(std::ostream& out) = 0; }; @@ -833,7 +833,7 @@ namespace pvAccess { * Get the provider name. * @return The name. */ - virtual epics::pvData::String getProviderName() = 0; + virtual std::string getProviderName() = 0; /** * Find a channel. @@ -841,7 +841,7 @@ namespace pvAccess { * @param channelFindRequester The epics::pvData::Requester. * @return An interface for the find. */ - virtual ChannelFind::shared_pointer channelFind(epics::pvData::String const & channelName, + virtual ChannelFind::shared_pointer channelFind(std::string const & channelName, ChannelFindRequester::shared_pointer const & channelFindRequester) = 0; /** @@ -858,7 +858,7 @@ namespace pvAccess { * @param priority channel priority, must be PRIORITY_MIN <= priority <= PRIORITY_MAX. * @return Channel instance. If channel does not exist null is returned and channelRequester notified. */ - virtual Channel::shared_pointer createChannel(epics::pvData::String const & channelName,ChannelRequester::shared_pointer const & channelRequester, + virtual Channel::shared_pointer createChannel(std::string const & channelName,ChannelRequester::shared_pointer const & channelRequester, short priority = PRIORITY_DEFAULT) = 0; /** @@ -866,11 +866,11 @@ namespace pvAccess { * @param channelName The name of the channel. * @param channelRequester The epics::pvData::Requester. * @param priority channel priority, must be PRIORITY_MIN <= priority <= PRIORITY_MAX. - * @param address address (or list of addresses) where to look for a channel. Implementation independed epics::pvData::String. + * @param address address (or list of addresses) where to look for a channel. Implementation independed std::string. * @return Channel instance. If channel does not exist null is returned and channelRequester notified. */ - virtual Channel::shared_pointer createChannel(epics::pvData::String const & channelName,ChannelRequester::shared_pointer const & channelRequester, - short priority, epics::pvData::String const & address) = 0; + virtual Channel::shared_pointer createChannel(std::string const & channelName,ChannelRequester::shared_pointer const & channelRequester, + short priority, std::string const & address) = 0; virtual void configure(epics::pvData::PVStructure::shared_pointer /*configuration*/) {}; virtual void flush() {}; @@ -891,7 +891,7 @@ namespace pvAccess { * Get factory name (i.e. name of the provider). * @return the factory name. */ - virtual epics::pvData::String getFactoryName() = 0; + virtual std::string getFactoryName() = 0; /** * Get a shared instance. @@ -913,7 +913,7 @@ namespace pvAccess { public: POINTER_DEFINITIONS(ChannelProviderRegistry); - typedef std::vector stringVector_t; + typedef std::vector stringVector_t; virtual ~ChannelProviderRegistry() {}; @@ -922,14 +922,14 @@ namespace pvAccess { * @param providerName The name of the provider. * @return The interface for the provider or null if the provider is not known. */ - virtual ChannelProvider::shared_pointer getProvider(epics::pvData::String const & providerName) = 0; + virtual ChannelProvider::shared_pointer getProvider(std::string const & providerName) = 0; /** * Creates a new instanceof the provider with the specified name. * @param providerName The name of the provider. * @return The interface for the provider or null if the provider is not known. */ - virtual ChannelProvider::shared_pointer createProvider(epics::pvData::String const & providerName) = 0; + virtual ChannelProvider::shared_pointer createProvider(std::string const & providerName) = 0; /** * Get a array of the names of all the known providers. diff --git a/src/factory/ChannelAccessFactory.cpp b/src/factory/ChannelAccessFactory.cpp index 9b74123..df68e53 100644 --- a/src/factory/ChannelAccessFactory.cpp +++ b/src/factory/ChannelAccessFactory.cpp @@ -16,6 +16,7 @@ #include using namespace epics::pvData; +using std::string; namespace epics { namespace pvAccess { @@ -24,17 +25,17 @@ static ChannelProviderRegistry::shared_pointer ChannelProviderRegistry; static Mutex channelProviderMutex; -typedef std::map ChannelProviderFactoryMap; +typedef std::map ChannelProviderFactoryMap; static ChannelProviderFactoryMap channelProviders; class ChannelProviderRegistryImpl : public ChannelProviderRegistry { public: - ChannelProvider::shared_pointer getProvider(String const & _providerName) { + ChannelProvider::shared_pointer getProvider(std::string const & _providerName) { // TODO remove, here for backward compatibility - const String providerName = (_providerName == "pvAccess") ? "pva" : _providerName; + const string providerName = (_providerName == "pvAccess") ? "pva" : _providerName; Lock guard(channelProviderMutex); ChannelProviderFactoryMap::const_iterator iter = channelProviders.find(providerName); @@ -44,10 +45,10 @@ class ChannelProviderRegistryImpl : public ChannelProviderRegistry { return ChannelProvider::shared_pointer(); } - ChannelProvider::shared_pointer createProvider(String const & _providerName) { + ChannelProvider::shared_pointer createProvider(std::string const & _providerName) { // TODO remove, here for backward compatibility - const String providerName = (_providerName == "pvAccess") ? "pva" : _providerName; + const string providerName = (_providerName == "pvAccess") ? "pva" : _providerName; Lock guard(channelProviderMutex); ChannelProviderFactoryMap::const_iterator iter = channelProviders.find(providerName); diff --git a/src/pva/clientFactory.cpp b/src/pva/clientFactory.cpp index df886e1..abac587 100644 --- a/src/pva/clientFactory.cpp +++ b/src/pva/clientFactory.cpp @@ -25,7 +25,7 @@ class ChannelProviderFactoryImpl : public ChannelProviderFactory public: POINTER_DEFINITIONS(ChannelProviderFactoryImpl); - virtual epics::pvData::String getFactoryName() + virtual std::string getFactoryName() { return ClientContextImpl::PROVIDER_NAME; } diff --git a/src/pva/pvaConstants.h b/src/pva/pvaConstants.h index 2b95c24..4ec619d 100644 --- a/src/pva/pvaConstants.h +++ b/src/pva/pvaConstants.h @@ -76,13 +76,13 @@ namespace pvAccess { const epics::pvData::int32 INVALID_IOID = 0; /** Default PVA provider name. */ - const epics::pvData::String PVACCESS_DEFAULT_PROVIDER = "local"; + const std::string PVACCESS_DEFAULT_PROVIDER = "local"; /** "All-providers registered" PVA provider name. */ - const epics::pvData::String PVACCESS_ALL_PROVIDERS = ""; + const std::string PVACCESS_ALL_PROVIDERS = ""; /** Name of the system env. variable to turn on debugging. */ - const epics::pvData::String PVACCESS_DEBUG = "EPICS_PVA_DEBUG"; + const std::string PVACCESS_DEBUG = "EPICS_PVA_DEBUG"; } } diff --git a/src/pva/pvaVersion.cpp b/src/pva/pvaVersion.cpp index 81ebd9c..f3d008e 100644 --- a/src/pva/pvaVersion.cpp +++ b/src/pva/pvaVersion.cpp @@ -10,13 +10,13 @@ #include using std::stringstream; -using epics::pvData::String; +using std::string; namespace epics { namespace pvAccess { -Version::Version(epics::pvData::String const & productName, - epics::pvData::String const & implementationLangugage, +Version::Version(std::string const & productName, + std::string const & implementationLangugage, int majorVersion, int minorVersion, int maintenanceVersion, bool developmentFlag) : _productName(productName), @@ -28,11 +28,11 @@ Version::Version(epics::pvData::String const & productName, { } -const epics::pvData::String Version::getProductName() const { +const std::string Version::getProductName() const { return _productName; } -const epics::pvData::String Version::getImplementationLanguage() const { +const std::string Version::getImplementationLanguage() const { return _implementationLanguage; } @@ -52,7 +52,7 @@ bool Version::isDevelopmentVersion() const { return _developmentFlag; } -const String Version::getVersionString() const { +const string Version::getVersionString() const { stringstream ret; ret<getConfiguration()->getPropertyAsInteger(PVACCESS_DEBUG, 0)) { } @@ -371,7 +371,7 @@ namespace epics { /** * Response hanlder description. */ - epics::pvData::String _description; + std::string _description; /** * Debug flag. diff --git a/src/remote/simpleChannelSearchManagerImpl.cpp b/src/remote/simpleChannelSearchManagerImpl.cpp index bf234a6..25db05c 100644 --- a/src/remote/simpleChannelSearchManagerImpl.cpp +++ b/src/remote/simpleChannelSearchManagerImpl.cpp @@ -231,7 +231,7 @@ bool SimpleChannelSearchManagerImpl::generateSearchRequestMessage(SearchInstance return false; */ - const epics::pvData::String name = channel->getSearchInstanceName(); + const std::string name = channel->getSearchInstanceName(); // not nice... const int addedPayloadSize = sizeof(int32)/sizeof(int8) + (1 + sizeof(int32)/sizeof(int8) + name.length()); if(((int)requestMessage->getRemaining()) < addedPayloadSize) diff --git a/src/remote/transportRegistry.cpp b/src/remote/transportRegistry.cpp index 1b9189a..e7d11ad 100644 --- a/src/remote/transportRegistry.cpp +++ b/src/remote/transportRegistry.cpp @@ -24,7 +24,7 @@ TransportRegistry::~TransportRegistry() void TransportRegistry::put(Transport::shared_pointer const & transport) { Lock guard(_mutex); - //const String type = transport.getType(); + //const string type = transport.getType(); const int16 priority = transport->getPriority(); const osiSockAddr* address = transport->getRemoteAddress(); @@ -48,7 +48,7 @@ void TransportRegistry::put(Transport::shared_pointer const & transport) (*priorities)[priority] = transport; } -Transport::shared_pointer TransportRegistry::get(String const & /*type*/, const osiSockAddr* address, const int16 priority) +Transport::shared_pointer TransportRegistry::get(std::string const & /*type*/, const osiSockAddr* address, const int16 priority) { Lock guard(_mutex); transportsMap_t::iterator transportsIter = _transports.find(address); @@ -64,7 +64,7 @@ Transport::shared_pointer TransportRegistry::get(String const & /*type*/, const return Transport::shared_pointer(); } -auto_ptr TransportRegistry::get(String const & /*type*/, const osiSockAddr* address) +auto_ptr TransportRegistry::get(std::string const & /*type*/, const osiSockAddr* address) { Lock guard(_mutex); transportsMap_t::iterator transportsIter = _transports.find(address); @@ -123,7 +123,7 @@ int32 TransportRegistry::numberOfActiveTransports() } -auto_ptr TransportRegistry::toArray(String const & /*type*/) +auto_ptr TransportRegistry::toArray(std::string const & /*type*/) { // TODO support type return toArray(); diff --git a/src/remote/transportRegistry.h b/src/remote/transportRegistry.h index e3aa4c0..09155ac 100644 --- a/src/remote/transportRegistry.h +++ b/src/remote/transportRegistry.h @@ -44,14 +44,14 @@ public: virtual ~TransportRegistry(); void put(Transport::shared_pointer const & transport); - Transport::shared_pointer get(epics::pvData::String const & type, const osiSockAddr* address, const epics::pvData::int16 priority); - std::auto_ptr get(epics::pvData::String const & type, const osiSockAddr* address); + Transport::shared_pointer get(std::string const & type, const osiSockAddr* address, const epics::pvData::int16 priority); + std::auto_ptr get(std::string const & type, const osiSockAddr* address); Transport::shared_pointer remove(Transport::shared_pointer const & transport); void clear(); epics::pvData::int32 numberOfActiveTransports(); // TODO note type not supported - std::auto_ptr toArray(epics::pvData::String const & type); + std::auto_ptr toArray(std::string const & type); std::auto_ptr toArray(); // optimized to avoid reallocation, adds to array void toArray(transportVector_t & transportArray); diff --git a/src/remoteClient/clientContextImpl.cpp b/src/remoteClient/clientContextImpl.cpp index 78ce8ba..6723ead 100644 --- a/src/remoteClient/clientContextImpl.cpp +++ b/src/remoteClient/clientContextImpl.cpp @@ -46,12 +46,12 @@ using namespace epics::pvData; namespace epics { namespace pvAccess { - String ClientContextImpl::PROVIDER_NAME = "pva"; + string ClientContextImpl::PROVIDER_NAME = "pva"; Status ChannelImpl::channelDestroyed = Status( Status::STATUSTYPE_WARNING, "channel destroyed"); Status ChannelImpl::channelDisconnected = Status( Status::STATUSTYPE_WARNING, "channel disconnected"); - String emptyString; + string emptyString; ConvertPtr convert = getConvert(); // TODO consider std::unordered_map @@ -1932,7 +1932,7 @@ namespace epics { ChannelImpl::shared_pointer m_channel; GetFieldRequester::shared_pointer m_callback; - String m_subField; + string m_subField; pvAccessID m_ioid; @@ -1941,7 +1941,7 @@ namespace epics { ResponseRequest::shared_pointer m_thisPointer; - ChannelGetFieldRequestImpl(ChannelImpl::shared_pointer const & channel, GetFieldRequester::shared_pointer const & callback, String const & subField) : + ChannelGetFieldRequestImpl(ChannelImpl::shared_pointer const & channel, GetFieldRequester::shared_pointer const & callback, string const & subField) : m_channel(channel), m_callback(callback), m_subField(subField), @@ -1967,7 +1967,7 @@ namespace epics { } public: - static shared_pointer create(ChannelImpl::shared_pointer const & channel, GetFieldRequester::shared_pointer const & callback, String const & subField) + static shared_pointer create(ChannelImpl::shared_pointer const & channel, GetFieldRequester::shared_pointer const & callback, string const & subField) { shared_pointer thisPointer(new ChannelGetFieldRequestImpl(channel, callback, subField), delayed_destroyable_deleter()); thisPointer->activate(); @@ -2140,7 +2140,7 @@ namespace epics { } MonitorElementPtr monitorElement = queue->getFree(); if(monitorElement==NULL) { - throw std::logic_error(String("RealQueue::dataChanged() logic error")); + throw std::logic_error(std::string("RealQueue::dataChanged() logic error")); } if(queue->getNumberFree()==0){ queueIsFull = true; @@ -2484,7 +2484,7 @@ namespace epics { protected: ClientContextImpl::weak_pointer _context; public: - AbstractClientResponseHandler(ClientContextImpl::shared_pointer const & context, String const & description) : + AbstractClientResponseHandler(ClientContextImpl::shared_pointer const & context, string const & description) : AbstractResponseHandler(context.get(), description), _context(ClientContextImpl::weak_pointer(context)) { } @@ -2494,7 +2494,7 @@ namespace epics { class NoopResponse : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { public: - NoopResponse(ClientContextImpl::shared_pointer const & context, String const & description) : + NoopResponse(ClientContextImpl::shared_pointer const & context, string const & description) : AbstractClientResponseHandler(context, description) { } @@ -2603,7 +2603,7 @@ namespace epics { serverAddress.ia.sin_port = htons(payloadBuffer->getShort()); - /*String protocol =*/ SerializeHelper::deserializeString(payloadBuffer, transport.get()); + /*string protocol =*/ SerializeHelper::deserializeString(payloadBuffer, transport.get()); transport->ensureData(1); bool found = payloadBuffer->getByte() != 0; @@ -2677,7 +2677,7 @@ namespace epics { serverAddress.ia.sin_port = htons(payloadBuffer->getShort()); - std::string protocol = SerializeHelper::deserializeString(payloadBuffer, transport.get()); + string protocol = SerializeHelper::deserializeString(payloadBuffer, transport.get()); // TODO optimize ClientContextImpl::shared_pointer context = _context.lock(); @@ -2789,7 +2789,7 @@ namespace epics { Requester::shared_pointer requester = nrr->getRequester(); if (requester.get()) { MessageType type = (MessageType)payloadBuffer->getByte(); - String message = SerializeHelper::deserializeString(payloadBuffer, transport.get()); + string message = SerializeHelper::deserializeString(payloadBuffer, transport.get()); requester->message(message, type); } } @@ -2987,7 +2987,7 @@ namespace epics { MB_INIT; } - virtual epics::pvData::String getProviderName() + virtual std::string getProviderName() { return PROVIDER_NAME; } @@ -2997,7 +2997,7 @@ namespace epics { } virtual ChannelFind::shared_pointer channelFind( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelFindRequester::shared_pointer const & channelFindRequester) { // TODO not implemented @@ -3029,7 +3029,7 @@ namespace epics { } virtual Channel::shared_pointer createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short priority) { @@ -3037,10 +3037,10 @@ namespace epics { } virtual Channel::shared_pointer createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short priority, - epics::pvData::String const & addressesStr) + std::string const & addressesStr) { std::tr1::shared_ptr context = m_context.lock(); if (!context.get()) @@ -3122,7 +3122,7 @@ namespace epics { /** * Channel name. */ - String m_name; + string m_name; /** * Channel requester. @@ -3204,7 +3204,7 @@ namespace epics { InternalChannelImpl( ClientContextImpl::shared_pointer const & context, pvAccessID channelID, - String const & name, + string const & name, ChannelRequester::shared_pointer const & requester, short priority, auto_ptr& addresses) : @@ -3237,7 +3237,7 @@ namespace epics { static ChannelImpl::shared_pointer create(ClientContextImpl::shared_pointer context, pvAccessID channelID, - String const & name, + string const & name, ChannelRequester::shared_pointer requester, short priority, auto_ptr& addresses) @@ -3257,12 +3257,12 @@ namespace epics { destroy(false); }; - virtual String getRequesterName() + virtual string getRequesterName() { return getChannelName(); }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -3275,11 +3275,11 @@ namespace epics { } // NOTE: synchronization guarantees that transport is non-0 and state == CONNECTED. - virtual epics::pvData::String getRemoteAddress() + virtual std::string getRemoteAddress() { Lock guard(m_channelMutex); if (m_connectionState != CONNECTED) { - static String emptyString; + static string emptyString; return emptyString; } else @@ -3288,7 +3288,7 @@ namespace epics { } } - virtual epics::pvData::String getChannelName() + virtual std::string getChannelName() { return m_name; } @@ -3330,7 +3330,7 @@ namespace epics { return m_channelID; } - virtual String getSearchInstanceName() { + virtual string getSearchInstanceName() { return m_name; } @@ -3862,7 +3862,7 @@ namespace epics { } } - virtual void getField(GetFieldRequester::shared_pointer const & requester,epics::pvData::String const & subField) + virtual void getField(GetFieldRequester::shared_pointer const & requester,std::string const & subField) { ChannelGetFieldRequestImpl::create(shared_from_this(), requester, subField); } @@ -3919,24 +3919,19 @@ namespace epics { virtual void printInfo() { - String info; - printInfo(&info); - std::cout << info.c_str() << std::endl; + printInfo(std::cout); } - virtual void printInfo(epics::pvData::StringBuilder out) { + virtual void printInfo(std::ostream& out) { //Lock lock(m_channelMutex); - //std::ostringstream ostr; - //static String emptyString; - out->append( "CHANNEL : "); out->append(m_name); - out->append("\nSTATE : "); out->append(ConnectionStateNames[m_connectionState]); + out << "CHANNEL : " << m_name << std::endl; + out << "STATE : " << ConnectionStateNames[m_connectionState] << std::endl; if (m_connectionState == CONNECTED) { - out->append("\nADDRESS : "); out->append(getRemoteAddress()); - //out->append("\nRIGHTS : "); out->append(getAccessRights()); + out << "ADDRESS : " << getRemoteAddress() << std::endl; + //out << "RIGHTS : " << getAccessRights() << std::endl; } - out->append("\n"); } }; @@ -4028,40 +4023,35 @@ TODO } virtual void printInfo() { - String info; - printInfo(&info); - std::cout << info.c_str() << std::endl; + printInfo(std::cout); } - virtual void printInfo(epics::pvData::StringBuilder out) { + virtual void printInfo(std::ostream& out) { Lock lock(m_contextMutex); - std::ostringstream ostr; - static String emptyString; - out->append( "CLASS : ::epics::pvAccess::ClientContextImpl"); - out->append("\nVERSION : "); out->append(m_version.getVersionString()); - out->append("\nADDR_LIST : "); ostr << m_addressList; out->append(ostr.str()); ostr.str(emptyString); - out->append("\nAUTO_ADDR_LIST : "); out->append(m_autoAddressList ? "true" : "false"); - out->append("\nCONNECTION_TIMEOUT : "); ostr << m_connectionTimeout; out->append(ostr.str()); ostr.str(emptyString); - out->append("\nBEACON_PERIOD : "); ostr << m_beaconPeriod; out->append(ostr.str()); ostr.str(emptyString); - out->append("\nBROADCAST_PORT : "); ostr << m_broadcastPort; out->append(ostr.str()); ostr.str(emptyString); - out->append("\nRCV_BUFFER_SIZE : "); ostr << m_receiveBufferSize; out->append(ostr.str()); ostr.str(emptyString); - out->append("\nSTATE : "); + out << "CLASS : ::epics::pvAccess::ClientContextImpl" << std::endl; + out << "VERSION : " << m_version.getVersionString() << std::endl; + out << "ADDR_LIST : " << m_addressList << std::endl; + out << "AUTO_ADDR_LIST : " << (m_autoAddressList ? "true" : "false") << std::endl; + out << "CONNECTION_TIMEOUT : " << m_connectionTimeout << std::endl; + out << "BEACON_PERIOD : " << m_beaconPeriod << std::endl; + out << "BROADCAST_PORT : " << m_broadcastPort << std::endl;; + out << "RCV_BUFFER_SIZE : " << m_receiveBufferSize << std::endl; + out << "STATE : "; switch (m_contextState) { case CONTEXT_NOT_INITIALIZED: - out->append("CONTEXT_NOT_INITIALIZED"); + out << "CONTEXT_NOT_INITIALIZED" << std::endl; break; case CONTEXT_INITIALIZED: - out->append("CONTEXT_INITIALIZED"); + out << "CONTEXT_INITIALIZED" << std::endl; break; case CONTEXT_DESTROYED: - out->append("CONTEXT_DESTROYED"); + out << "CONTEXT_DESTROYED" << std::endl; break; default: - out->append("UNKNOWN"); + out << "UNKNOWN" << std::endl; } - out->append("\n"); } virtual void destroy() @@ -4244,7 +4234,7 @@ TODO /** * Check channel name. */ - void checkChannelName(String const & name) { + void checkChannelName(std::string const & name) { if (name.empty()) throw std::runtime_error("0 or empty channel name"); else if (name.length() > MAX_CHANNEL_NAME_LENGTH) @@ -4447,7 +4437,7 @@ TODO */ // TODO no minor version with the addresses // TODO what if there is an channel with the same name, but on different host! - ChannelImpl::shared_pointer createChannelInternal(String const & name, ChannelRequester::shared_pointer const & requester, short priority, + ChannelImpl::shared_pointer createChannelInternal(std::string const & name, ChannelRequester::shared_pointer const & requester, short priority, auto_ptr& addresses) { // TODO addresses checkState(); @@ -4489,7 +4479,7 @@ TODO */ void destroyChannel(ChannelImpl::shared_pointer const & channel, bool force) { - String name = channel->getChannelName(); + string name = channel->getChannelName(); bool lockAcquired = true; //namedLocker->acquireSynchronizationObject(name, LOCK_TIMEOUT); if (lockAcquired) { @@ -4559,7 +4549,7 @@ TODO * A space-separated list of broadcast address for process variable name resolution. * Each address must be of the form: ip.number:port or host.name:port */ - String m_addressList; + string m_addressList; /** * Define whether or not the network interfaces should be discovered at runtime. @@ -4618,7 +4608,7 @@ TODO /** * Context instance. */ - NamedLockPattern m_namedLocker; + NamedLockPattern m_namedLocker; /** * Context instance. diff --git a/src/remoteClient/clientContextImpl.h b/src/remoteClient/clientContextImpl.h index 817aa92..6d88dbe 100644 --- a/src/remoteClient/clientContextImpl.h +++ b/src/remoteClient/clientContextImpl.h @@ -66,7 +66,7 @@ namespace epics { public: POINTER_DEFINITIONS(ClientContextImpl); - static epics::pvData::String PROVIDER_NAME; + static std::string PROVIDER_NAME; /** * Get context implementation version. @@ -94,7 +94,7 @@ namespace epics { * Prints detailed information about the context to the specified output stream. * @param out the output stream. */ - virtual void printInfo(epics::pvData::StringBuilder out) = 0; + virtual void printInfo(std::ostream& out) = 0; /** * Dispose (destroy) server context. @@ -104,13 +104,13 @@ namespace epics { virtual ChannelSearchManager::shared_pointer getChannelSearchManager() = 0; - virtual void checkChannelName(epics::pvData::String const & name) = 0; + virtual void checkChannelName(std::string const & name) = 0; virtual void registerChannel(ChannelImpl::shared_pointer const & channel) = 0; virtual void unregisterChannel(ChannelImpl::shared_pointer const & channel) = 0; virtual void destroyChannel(ChannelImpl::shared_pointer const & channel, bool force) = 0; - virtual ChannelImpl::shared_pointer createChannelInternal(epics::pvData::String const &name, ChannelRequester::shared_pointer const & requester, short priority, std::auto_ptr& addresses) = 0; + virtual ChannelImpl::shared_pointer createChannelInternal(std::string const &name, ChannelRequester::shared_pointer const & requester, short priority, std::auto_ptr& addresses) = 0; virtual ResponseRequest::shared_pointer getResponseRequest(pvAccessID ioid) = 0; virtual pvAccessID registerResponseRequest(ResponseRequest::shared_pointer const & request) = 0; diff --git a/src/rpcClient/rpcClient.cpp b/src/rpcClient/rpcClient.cpp index dbff2cc..3e2e90e 100644 --- a/src/rpcClient/rpcClient.cpp +++ b/src/rpcClient/rpcClient.cpp @@ -21,7 +21,7 @@ using namespace epics::pvData; - +using std::string; namespace epics { @@ -41,8 +41,8 @@ class ChannelRequesterImpl : epics::pvData::Event m_event; public: - virtual epics::pvData::String getRequesterName(); - virtual void message(epics::pvData::String const & message, epics::pvData::MessageType messageType); + virtual std::string getRequesterName(); + virtual void message(std::string const & message, epics::pvData::MessageType messageType); virtual void channelCreated(const epics::pvData::Status& status, epics::pvAccess::Channel::shared_pointer const & channel); virtual void channelStateChange(epics::pvAccess::Channel::shared_pointer const & channel, epics::pvAccess::Channel::ConnectionState connectionState); @@ -57,18 +57,18 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester Mutex m_pointerMutex; Event m_event; Event m_connectionEvent; - String m_channelName; + string m_channelName; public: epics::pvData::PVStructure::shared_pointer response; - ChannelRPCRequesterImpl(String channelName) : m_channelName(channelName) {} + ChannelRPCRequesterImpl(std::string channelName) : m_channelName(channelName) {} - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelRPCRequesterImpl"; } - virtual void message(String const & message, MessageType messageType) + virtual void message(std::string const & message, MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -80,7 +80,7 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel RPC create: " << status.toString() << std::endl; + std::cerr << "[" << m_channelName << "] channel RPC create: " << status << std::endl; } // assign smart pointers @@ -93,7 +93,7 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester } else { - std::cerr << "[" << m_channelName << "] failed to create channel get: " << status.toString() << std::endl; + std::cerr << "[" << m_channelName << "] failed to create channel get: " << status << std::endl; } } @@ -105,7 +105,7 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester // show warning if (!status.isOK()) { - std::cerr << "[" << m_channelName << "] channel RPC: " << status.toString() << std::endl; + std::cerr << "[" << m_channelName << "] channel RPC: " << status << std::endl; } // access smart pointers @@ -120,7 +120,7 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester } else { - std::cerr << "[" << m_channelName << "] failed to RPC: " << status.toString() << std::endl; + std::cerr << "[" << m_channelName << "] failed to RPC: " << status << std::endl; { Lock lock(m_pointerMutex); // this is OK since calle holds reference to it @@ -151,12 +151,12 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester }; -String ChannelRequesterImpl::getRequesterName() +string ChannelRequesterImpl::getRequesterName() { return "ChannelRequesterImpl"; } -void ChannelRequesterImpl::message(String const & message, MessageType messageType) +void ChannelRequesterImpl::message(std::string const & message, MessageType messageType) { std::cerr << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -168,12 +168,12 @@ void ChannelRequesterImpl::channelCreated(const epics::pvData::Status& status, C // show warning if (!status.isOK()) { - std::cerr << "[" << channel->getChannelName() << "] channel create: " << status.toString() << std::endl; + std::cerr << "[" << channel->getChannelName() << "] channel create: " << status << std::endl; } } else { - std::cerr << "[" << channel->getChannelName() << "] failed to create a channel: " << status.toString() << std::endl; + std::cerr << "[" << channel->getChannelName() << "] failed to create a channel: " << status << std::endl; } } diff --git a/src/rpcService/rpcServer.cpp b/src/rpcService/rpcServer.cpp index 32fa49f..4bd8ca2 100644 --- a/src/rpcService/rpcServer.cpp +++ b/src/rpcService/rpcServer.cpp @@ -10,6 +10,7 @@ #include using namespace epics::pvData; +using std::string; namespace epics { namespace pvAccess { @@ -131,7 +132,7 @@ private: AtomicBoolean m_destroyed; ChannelProvider::shared_pointer m_provider; - String m_channelName; + string m_channelName; ChannelRequester::shared_pointer m_channelRequester; RPCService::shared_pointer m_rpcService; @@ -141,7 +142,7 @@ public: RPCChannel( ChannelProvider::shared_pointer const & provider, - String const & channelName, + string const & channelName, ChannelRequester::shared_pointer const & channelRequester, RPCService::shared_pointer const & rpcService) : m_provider(provider), @@ -161,7 +162,7 @@ public: return m_provider; } - virtual epics::pvData::String getRemoteAddress() + virtual std::string getRemoteAddress() { // local return getChannelName(); @@ -174,7 +175,7 @@ public: Channel::DESTROYED; } - virtual epics::pvData::String getChannelName() + virtual std::string getChannelName() { return m_channelName; } @@ -195,7 +196,7 @@ public: return none; } - virtual void getField(GetFieldRequester::shared_pointer const & requester,epics::pvData::String const & /*subField*/) + virtual void getField(GetFieldRequester::shared_pointer const & requester,std::string const & /*subField*/) { requester->getDone(notSupportedStatus, epics::pvData::Field::shared_pointer()); } @@ -284,24 +285,24 @@ public: virtual void printInfo() { - std::cout << "RPCChannel: " << getChannelName() << " [" << Channel::ConnectionStateNames[getConnectionState()] << "]" << std::endl; + printInfo(std::cout); } - virtual void printInfo(epics::pvData::StringBuilder out) + virtual void printInfo(std::ostream& out) { - *out += "RPCChannel: "; - *out += getChannelName(); - *out += " ["; - *out += Channel::ConnectionStateNames[getConnectionState()]; - *out += "]"; + out << "RPCChannel: "; + out << getChannelName(); + out << " ["; + out << Channel::ConnectionStateNames[getConnectionState()]; + out << "]"; } - virtual String getRequesterName() + virtual string getRequesterName() { return getChannelName(); } - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { // just delegate m_channelRequester->message(message, messageType); @@ -317,7 +318,7 @@ Status RPCChannel::notSupportedStatus(Status::STATUSTYPE_ERROR, "only channelRPC Status RPCChannel::destroyedStatus(Status::STATUSTYPE_ERROR, "channel destroyed"); Channel::shared_pointer createRPCChannel(ChannelProvider::shared_pointer const & provider, - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, RPCService::shared_pointer const & rpcService) { @@ -333,7 +334,7 @@ class RPCChannelProvider : public: POINTER_DEFINITIONS(RPCChannelProvider); - static String PROVIDER_NAME; + static string PROVIDER_NAME; static Status noSuchChannelStatus; @@ -342,7 +343,7 @@ public: RPCChannelProvider() { } - virtual String getProviderName() { + virtual string getProviderName() { return PROVIDER_NAME; } @@ -355,7 +356,7 @@ public: virtual void destroy() {} - virtual ChannelFind::shared_pointer channelFind(epics::pvData::String const & channelName, + virtual ChannelFind::shared_pointer channelFind(std::string const & channelName, ChannelFindRequester::shared_pointer const & channelFindRequester) { bool found; @@ -391,7 +392,7 @@ public: } virtual Channel::shared_pointer createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short /*priority*/) { @@ -418,34 +419,34 @@ public: } virtual Channel::shared_pointer createChannel( - epics::pvData::String const & /*channelName*/, + std::string const & /*channelName*/, ChannelRequester::shared_pointer const & /*channelRequester*/, short /*priority*/, - epics::pvData::String const & /*address*/) + std::string const & /*address*/) { // this will never get called by the pvAccess server throw std::runtime_error("not supported"); } - void registerService(String const & serviceName, RPCService::shared_pointer const & service) + void registerService(std::string const & serviceName, RPCService::shared_pointer const & service) { Lock guard(m_mutex); m_services[serviceName] = service; } - void unregisterService(String const & serviceName) + void unregisterService(std::string const & serviceName) { Lock guard(m_mutex); m_services.erase(serviceName); } private: - typedef std::map RPCServiceMap; + typedef std::map RPCServiceMap; RPCServiceMap m_services; epics::pvData::Mutex m_mutex; }; -String RPCChannelProvider::PROVIDER_NAME("rpcService"); +string RPCChannelProvider::PROVIDER_NAME("rpcService"); Status RPCChannelProvider::noSuchChannelStatus(Status::STATUSTYPE_ERROR, "no such channel"); @@ -460,7 +461,7 @@ public: { } - virtual epics::pvData::String getFactoryName() + virtual std::string getFactoryName() { return RPCChannelProvider::PROVIDER_NAME; } @@ -547,12 +548,12 @@ void RPCServer::destroy() m_serverContext->destroy(); } -void RPCServer::registerService(String const & serviceName, RPCService::shared_pointer const & service) +void RPCServer::registerService(std::string const & serviceName, RPCService::shared_pointer const & service) { std::tr1::dynamic_pointer_cast(m_channelProviderImpl)->registerService(serviceName, service); } -void RPCServer::unregisterService(String const & serviceName) +void RPCServer::unregisterService(std::string const & serviceName) { std::tr1::dynamic_pointer_cast(m_channelProviderImpl)->unregisterService(serviceName); } diff --git a/src/rpcService/rpcServer.h b/src/rpcService/rpcServer.h index 8ff7995..9009deb 100644 --- a/src/rpcService/rpcServer.h +++ b/src/rpcService/rpcServer.h @@ -45,9 +45,9 @@ class epicsShareClass RPCServer : virtual ~RPCServer(); - void registerService(epics::pvData::String const & serviceName, RPCService::shared_pointer const & service); + void registerService(std::string const & serviceName, RPCService::shared_pointer const & service); - void unregisterService(epics::pvData::String const & serviceName); + void unregisterService(std::string const & serviceName); void run(int seconds = 0); @@ -65,7 +65,7 @@ class epicsShareClass RPCServer : }; epicsShareExtern Channel::shared_pointer createRPCChannel(ChannelProvider::shared_pointer const & provider, - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, RPCService::shared_pointer const & rpcService); diff --git a/src/rpcService/rpcService.h b/src/rpcService/rpcService.h index ceae176..8b6180d 100644 --- a/src/rpcService/rpcService.h +++ b/src/rpcService/rpcService.h @@ -31,7 +31,7 @@ namespace epics { namespace pvAccess { class epicsShareClass RPCRequestException : public std::runtime_error { public: - RPCRequestException(epics::pvData::Status::StatusType status, epics::pvData::String const & message) : + RPCRequestException(epics::pvData::Status::StatusType status, std::string const & message) : std::runtime_error(message), m_status(status) { } diff --git a/src/server/baseChannelRequester.cpp b/src/server/baseChannelRequester.cpp index 73416fc..7a91e99 100644 --- a/src/server/baseChannelRequester.cpp +++ b/src/server/baseChannelRequester.cpp @@ -7,6 +7,7 @@ #include using namespace epics::pvData; +using std::string; namespace epics { namespace pvAccess { @@ -59,19 +60,19 @@ int32 BaseChannelRequester::getPendingRequest() return _pendingRequest; } -String BaseChannelRequester::getRequesterName() +string BaseChannelRequester::getRequesterName() { std::stringstream name; name << typeid(*_transport).name() << "/" << _ioid; return name.str(); } -void BaseChannelRequester::message(String const & message, epics::pvData::MessageType messageType) +void BaseChannelRequester::message(std::string const & message, epics::pvData::MessageType messageType) { BaseChannelRequester::message(_transport, _ioid, message, messageType); } -void BaseChannelRequester::message(Transport::shared_pointer const & transport, const pvAccessID ioid, const String message, const MessageType messageType) +void BaseChannelRequester::message(Transport::shared_pointer const & transport, const pvAccessID ioid, const string message, const MessageType messageType) { TransportSender::shared_pointer sender(new BaseChannelRequesterMessageTransportSender(ioid, message, messageType)); transport->enqueueSendRequest(sender); @@ -83,7 +84,7 @@ void BaseChannelRequester::sendFailureMessage(const int8 command, Transport::sha transport->enqueueSendRequest(sender); } -BaseChannelRequesterMessageTransportSender::BaseChannelRequesterMessageTransportSender(const pvAccessID ioid, const String message,const epics::pvData::MessageType messageType): +BaseChannelRequesterMessageTransportSender::BaseChannelRequesterMessageTransportSender(const pvAccessID ioid, const string message,const epics::pvData::MessageType messageType): _ioid(ioid), _message(message), _messageType(messageType) diff --git a/src/server/baseChannelRequester.h b/src/server/baseChannelRequester.h index ffb85f5..b817d0d 100644 --- a/src/server/baseChannelRequester.h +++ b/src/server/baseChannelRequester.h @@ -36,9 +36,9 @@ public: bool startRequest(epics::pvData::int32 qos); void stopRequest(); epics::pvData::int32 getPendingRequest(); - epics::pvData::String getRequesterName(); - void message(epics::pvData::String const & message, epics::pvData::MessageType messageType); - static void message(Transport::shared_pointer const & transport, const pvAccessID ioid, const epics::pvData::String message, const epics::pvData::MessageType messageType); + std::string getRequesterName(); + void message(std::string const & message, epics::pvData::MessageType messageType); + static void message(Transport::shared_pointer const & transport, const pvAccessID ioid, const std::string message, const epics::pvData::MessageType messageType); static void sendFailureMessage(const epics::pvData::int8 command, Transport::shared_pointer const & transport, const pvAccessID ioid, const epics::pvData::int8 qos, const epics::pvData::Status status); static const epics::pvData::Status okStatus; @@ -63,13 +63,13 @@ private: class BaseChannelRequesterMessageTransportSender : public TransportSender { public: - BaseChannelRequesterMessageTransportSender(const pvAccessID _ioid, const epics::pvData::String message,const epics::pvData::MessageType messageType); + BaseChannelRequesterMessageTransportSender(const pvAccessID _ioid, const std::string message,const epics::pvData::MessageType messageType); void send(epics::pvData::ByteBuffer* buffer, TransportSendControl* control); void lock(); void unlock(); private: const pvAccessID _ioid; - const epics::pvData::String _message; + const std::string _message; const epics::pvData::MessageType _messageType; }; diff --git a/src/server/responseHandlers.cpp b/src/server/responseHandlers.cpp index 736ad27..9825078 100644 --- a/src/server/responseHandlers.cpp +++ b/src/server/responseHandlers.cpp @@ -20,6 +20,7 @@ #include #include +using std::string; using std::ostringstream; using std::hex; @@ -221,7 +222,7 @@ byteAddress[i] = payloadBuffer->getByte(); }; bool allowed = (protocolsCount == 0); for (size_t i = 0; i < protocolsCount; i++) { - String protocol = SerializeHelper::deserializeString(payloadBuffer, transport.get()); + string protocol = SerializeHelper::deserializeString(payloadBuffer, transport.get()); if (SUPPORTED_PROTOCOL == protocol) allowed = true; } @@ -241,7 +242,7 @@ byteAddress[i] = payloadBuffer->getByte(); }; { transport->ensureData(4); const int32 cid = payloadBuffer->getInt(); - const String name = SerializeHelper::deserializeString(payloadBuffer, transport.get()); + const string name = SerializeHelper::deserializeString(payloadBuffer, transport.get()); // no name check here... if (allowed) @@ -288,7 +289,7 @@ void ServerChannelFindRequesterImpl::clear() _serverSearch = false; } -ServerChannelFindRequesterImpl* ServerChannelFindRequesterImpl::set(String name, int32 searchSequenceId, int32 cid, osiSockAddr const & sendTo, +ServerChannelFindRequesterImpl* ServerChannelFindRequesterImpl::set(std::string name, int32 searchSequenceId, int32 cid, osiSockAddr const & sendTo, bool responseRequired, bool serverSearch) { Lock guard(_mutex); @@ -301,7 +302,7 @@ ServerChannelFindRequesterImpl* ServerChannelFindRequesterImpl::set(String name, return this; } -std::map > ServerSearchHandler::s_channelNameToProvider; +std::map > ServerSearchHandler::s_channelNameToProvider; void ServerChannelFindRequesterImpl::channelFindResult(const Status& /*status*/, ChannelFind::shared_pointer const & channelFind, bool wasFound) { @@ -457,7 +458,7 @@ public: if (!opField) throw RPCRequestException(Status::STATUSTYPE_ERROR, "unspecified 'string op' field"); - String op = opField->get(); + string op = opField->get(); if (op == "channels") { ChannelListRequesterImpl::shared_pointer listListener(new ChannelListRequesterImpl()); @@ -468,7 +469,7 @@ public: Status& status = listListener->status; if (!status.isSuccess()) { - String errorMessage = "failed to fetch channel list: " + status.getMessage(); + string errorMessage = "failed to fetch channel list: " + status.getMessage(); if (!status.getStackDump().empty()) errorMessage += "\n" + status.getStackDump(); throw RPCRequestException(Status::STATUSTYPE_ERROR, errorMessage); @@ -509,7 +510,7 @@ std::string ServerRPCService::helpString = "\t\t\t (no arguments)\n" "\n"; -epics::pvData::String ServerCreateChannelHandler::SERVER_CHANNEL_NAME = "server"; +std::string ServerCreateChannelHandler::SERVER_CHANNEL_NAME = "server"; void ServerCreateChannelHandler::handleResponse(osiSockAddr* responseFrom, Transport::shared_pointer const & transport, int8 version, int8 command, @@ -527,7 +528,7 @@ void ServerCreateChannelHandler::handleResponse(osiSockAddr* responseFrom, } const pvAccessID cid = payloadBuffer->getInt(); - String channelName = SerializeHelper::deserializeString(payloadBuffer, transport.get()); + string channelName = SerializeHelper::deserializeString(payloadBuffer, transport.get()); if (channelName.size() == 0) { @@ -570,7 +571,7 @@ void ServerCreateChannelHandler::disconnect(Transport::shared_pointer const & tr } ServerChannelRequesterImpl::ServerChannelRequesterImpl(Transport::shared_pointer const & transport, - const String channelName, const pvAccessID cid) : + const string channelName, const pvAccessID cid) : _serverChannel(), _transport(transport), _channelName(channelName), @@ -582,7 +583,7 @@ ServerChannelRequesterImpl::ServerChannelRequesterImpl(Transport::shared_pointer ChannelRequester::shared_pointer ServerChannelRequesterImpl::create( ChannelProvider::shared_pointer const & provider, Transport::shared_pointer const & transport, - const String channelName, const pvAccessID cid) + const string channelName, const pvAccessID cid) { ChannelRequester::shared_pointer cr(new ServerChannelRequesterImpl(transport, channelName, cid)); // TODO exception guard and report error back @@ -663,14 +664,14 @@ void ServerChannelRequesterImpl::channelStateChange(Channel::shared_pointer cons // TODO should we notify remote side? } -String ServerChannelRequesterImpl::getRequesterName() +string ServerChannelRequesterImpl::getRequesterName() { std::stringstream name; name << "ServerChannelRequesterImpl/" << _channelName << "[" << _cid << "]"; return name.str(); } -void ServerChannelRequesterImpl::message(String const & message, MessageType messageType) +void ServerChannelRequesterImpl::message(std::string const & message, MessageType messageType) { LOG(logLevelDebug, "[%s] %s", getMessageTypeName(messageType).c_str(), message.c_str()); } @@ -2267,7 +2268,7 @@ void ServerGetFieldHandler::handleResponse(osiSockAddr* responseFrom, return; } - String subField = SerializeHelper::deserializeString(payloadBuffer, transport.get()); + string subField = SerializeHelper::deserializeString(payloadBuffer, transport.get()); // issue request GetFieldRequester::shared_pointer gfr(new ServerGetFieldRequesterImpl(_context, channel, ioid, transport)); diff --git a/src/server/responseHandlers.h b/src/server/responseHandlers.h index f708102..2b32846 100644 --- a/src/server/responseHandlers.h +++ b/src/server/responseHandlers.h @@ -21,7 +21,7 @@ namespace pvAccess { protected: ServerContextImpl::shared_pointer _context; public: - AbstractServerResponseHandler(ServerContextImpl::shared_pointer const & context, epics::pvData::String description) : + AbstractServerResponseHandler(ServerContextImpl::shared_pointer const & context, std::string description) : AbstractResponseHandler(context.get(), description), _context(context) { } @@ -87,7 +87,7 @@ namespace pvAccess { */ class ServerNoopResponse : public AbstractServerResponseHandler { public: - ServerNoopResponse(ServerContextImpl::shared_pointer const & context, epics::pvData::String description) : + ServerNoopResponse(ServerContextImpl::shared_pointer const & context, std::string description) : AbstractServerResponseHandler(context, description) { } virtual ~ServerNoopResponse(){} @@ -142,7 +142,7 @@ namespace pvAccess { { public: // TODO - static std::map > s_channelNameToProvider; + static std::map > s_channelNameToProvider; static std::string SUPPORTED_PROTOCOL; @@ -167,7 +167,7 @@ namespace pvAccess { ServerChannelFindRequesterImpl(ServerContextImpl::shared_pointer const & context, epics::pvData::int32 expectedResponseCount); virtual ~ServerChannelFindRequesterImpl(){} void clear(); - ServerChannelFindRequesterImpl* set(epics::pvData::String _name, epics::pvData::int32 searchSequenceId, + ServerChannelFindRequesterImpl* set(std::string _name, epics::pvData::int32 searchSequenceId, epics::pvData::int32 cid, osiSockAddr const & sendTo, bool responseRequired, bool serverSearch); void channelFindResult(const epics::pvData::Status& status, ChannelFind::shared_pointer const & channelFind, bool wasFound); void lock(); @@ -175,7 +175,7 @@ namespace pvAccess { void send(epics::pvData::ByteBuffer* buffer, TransportSendControl* control); private: GUID _guid; - epics::pvData::String _name; + std::string _name; epics::pvData::int32 _searchSequenceId; epics::pvData::int32 _cid; osiSockAddr _sendTo; @@ -206,7 +206,7 @@ namespace pvAccess { std::size_t payloadSize, epics::pvData::ByteBuffer* payloadBuffer); private: - static epics::pvData::String SERVER_CHANNEL_NAME; + static std::string SERVER_CHANNEL_NAME; void disconnect(Transport::shared_pointer const & transport); std::vector _providers; @@ -222,21 +222,21 @@ namespace pvAccess { typedef std::tr1::shared_ptr shared_pointer; typedef std::tr1::shared_ptr const_shared_pointer; protected: - ServerChannelRequesterImpl(Transport::shared_pointer const & transport, const epics::pvData::String channelName, const pvAccessID cid); + ServerChannelRequesterImpl(Transport::shared_pointer const & transport, const std::string channelName, const pvAccessID cid); public: virtual ~ServerChannelRequesterImpl() {} - static ChannelRequester::shared_pointer create(ChannelProvider::shared_pointer const & provider, Transport::shared_pointer const & transport, const epics::pvData::String channelName, const pvAccessID cid); + static ChannelRequester::shared_pointer create(ChannelProvider::shared_pointer const & provider, Transport::shared_pointer const & transport, const std::string channelName, const pvAccessID cid); void channelCreated(const epics::pvData::Status& status, Channel::shared_pointer const & channel); void channelStateChange(Channel::shared_pointer const & c, const Channel::ConnectionState isConnected); - epics::pvData::String getRequesterName(); - void message(epics::pvData::String const & message, epics::pvData::MessageType messageType); + std::string getRequesterName(); + void message(std::string const & message, epics::pvData::MessageType messageType); void lock(); void unlock(); void send(epics::pvData::ByteBuffer* buffer, TransportSendControl* control); private: ServerChannel::weak_pointer _serverChannel; Transport::weak_pointer _transport; - const epics::pvData::String _channelName; + const std::string _channelName; const pvAccessID _cid; epics::pvData::Status _status; epics::pvData::Mutex _mutex; diff --git a/src/server/serverContext.cpp b/src/server/serverContext.cpp index a028a0a..12b32cb 100644 --- a/src/server/serverContext.cpp +++ b/src/server/serverContext.cpp @@ -636,7 +636,7 @@ static void threadRunner(void* usr) -ServerContext::shared_pointer startPVAServer(String const & providerNames, int timeToRun, bool runInSeparateThread, bool printInfo) +ServerContext::shared_pointer startPVAServer(std::string const & providerNames, int timeToRun, bool runInSeparateThread, bool printInfo) { ServerContextImpl::shared_pointer ctx = ServerContextImpl::create(); diff --git a/src/server/serverContext.h b/src/server/serverContext.h index c7ad31a..e0bd7f4 100644 --- a/src/server/serverContext.h +++ b/src/server/serverContext.h @@ -434,7 +434,7 @@ private: }; epicsShareExtern ServerContext::shared_pointer startPVAServer( - epics::pvData::String const & providerNames = PVACCESS_ALL_PROVIDERS, + std::string const & providerNames = PVACCESS_ALL_PROVIDERS, int timeToRun = 0, bool runInSeparateThread = false, bool printInfo = false); diff --git a/src/utils/hexDump.cpp b/src/utils/hexDump.cpp index 70a8b6b..9e56ec0 100644 --- a/src/utils/hexDump.cpp +++ b/src/utils/hexDump.cpp @@ -6,11 +6,13 @@ #include #include +#include #define epicsExportSharedSymbols #include using namespace epics::pvData; +using std::string; using std::stringstream; using std::endl; using std::cout; @@ -24,8 +26,8 @@ static const char lookup[] = { '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; /// Get hex representation of byte. -String toHex(int8 b) { - String sb; +string toHex(int8 b) { + string sb; int upper = (b>>4)&0x0F; sb += lookup[upper]; @@ -46,24 +48,24 @@ char toAscii(int8 b) { return '.'; } -void hexDump(String const & name, const int8 *bs, int len) { +void hexDump(std::string const & name, const int8 *bs, int len) { hexDump(name, bs, 0, len); } -void hexDump(String const & name, const int8 *bs, int start, int len) { +void hexDump(std::string const & name, const int8 *bs, int start, int len) { hexDump("", name, bs, start, len); } -void hexDump(String const & prologue, String const & name, const int8 *bs, +void hexDump(std::string const & prologue, string const & name, const int8 *bs, int start, int len) { stringstream header; header<255) THROW_BASE_EXCEPTION("Not an IPv4 address."); retAddr = byte; int num = dot+1; dot = addr.find('.', num); - if(dot==String::npos) THROW_BASE_EXCEPTION("Not an IPv4 address."); + if(dot==std::string::npos) THROW_BASE_EXCEPTION("Not an IPv4 address."); byte = atoi(addr.substr(num, dot-num).c_str()); if(byte<0||byte>255) THROW_BASE_EXCEPTION("Not an IPv4 address."); retAddr <<= 8; @@ -102,7 +102,7 @@ int32 parseInetAddress(const String addr) { num = dot+1; dot = addr.find('.', num); - if(dot==String::npos) THROW_BASE_EXCEPTION("Not an IPv4 address."); + if(dot==std::string::npos) THROW_BASE_EXCEPTION("Not an IPv4 address."); byte = atoi(addr.substr(num, dot-num).c_str()); if(byte<0||byte>255) THROW_BASE_EXCEPTION("Not an IPv4 address."); retAddr <<= 8; @@ -117,22 +117,22 @@ int32 parseInetAddress(const String addr) { return htonl(retAddr); } -InetAddrVector* getSocketAddressList(String list, int defaultPort, +InetAddrVector* getSocketAddressList(std::string list, int defaultPort, const InetAddrVector* appendList) { InetAddrVector* iav = new InetAddrVector(); // parse string size_t subStart = 0; size_t subEnd; - while((subEnd = list.find(' ', subStart))!=String::npos) { - String address = list.substr(subStart, (subEnd-subStart)); + while((subEnd = list.find(' ', subStart))!=std::string::npos) { + string address = list.substr(subStart, (subEnd-subStart)); osiSockAddr addr; if (aToIPAddr(address.c_str(), defaultPort, &addr.ia) == 0) iav->push_back(addr); subStart = list.find_first_not_of(" \t\r\n\v", subEnd); } - if(subStart!=String::npos&&list.length()>0) { + if(subStart!=std::string::npos&&list.length()>0) { osiSockAddr addr; if (aToIPAddr(list.substr(subStart).c_str(), defaultPort, &addr.ia) == 0) iav->push_back(addr); @@ -145,7 +145,7 @@ InetAddrVector* getSocketAddressList(String list, int defaultPort, return iav; } -const String inetAddressToString(const osiSockAddr &addr, +const string inetAddressToString(const osiSockAddr &addr, bool displayPort, bool displayHex) { stringstream saddr; diff --git a/src/utils/inetAddressUtil.h b/src/utils/inetAddressUtil.h index 2c43826..00f5c37 100644 --- a/src/utils/inetAddressUtil.h +++ b/src/utils/inetAddressUtil.h @@ -77,10 +77,10 @@ namespace pvAccess { * @param appendList list to be appended. * @return array of InetSocketAddress. */ - epicsShareFunc InetAddrVector* getSocketAddressList(epics::pvData::String list, int defaultPort, + epicsShareFunc InetAddrVector* getSocketAddressList(std::string list, int defaultPort, const InetAddrVector* appendList = NULL); - epicsShareFunc const epics::pvData::String inetAddressToString(const osiSockAddr &addr, + epicsShareFunc const std::string inetAddressToString(const osiSockAddr &addr, bool displayPort = true, bool displayHex = false); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ diff --git a/src/utils/introspectionRegistry.cpp b/src/utils/introspectionRegistry.cpp index c91e318..7a711af 100644 --- a/src/utils/introspectionRegistry.cpp +++ b/src/utils/introspectionRegistry.cpp @@ -70,18 +70,14 @@ int16 IntrospectionRegistry::registerIntrospectionInterface(FieldConstPtr const void IntrospectionRegistry::printKeysAndValues(string name) { - string buffer; cout << "############## print of all key/values of " << name.c_str() << " registry : ###################" << endl; for(registryMap_t::iterator registryIter = _registry.begin(); registryIter != _registry.end(); registryIter++) { - buffer.erase(); cout << "\t" << "Key: "<< registryIter->first << endl; cout << "\t" << "Value: " << registryIter->second << endl; - cout << "\t" << "References: " << buffer.c_str() << endl; - buffer.erase(); - registryIter->second->toString(&buffer); - cout << "\t" << "Value toString: " << buffer.c_str() << endl; + cout << "\t" << "References: " << registryIter->second << endl; + cout << "\t" << "Value: " << *(registryIter->second) << endl; } } diff --git a/src/utils/logger.cpp b/src/utils/logger.cpp index 8bb9ac2..b7701f6 100644 --- a/src/utils/logger.cpp +++ b/src/utils/logger.cpp @@ -68,7 +68,7 @@ namespace epics { class FileLogger : public NoDefaultMethods { public: - FileLogger(String const & name) { + FileLogger(std::string const & name) { logFile.open(name.data(), ios::app); } @@ -100,7 +100,7 @@ namespace epics { delete fileLogger; } - void createFileLogger(String const & fname) { + void createFileLogger(std::string const & fname) { static Mutex mutex; Lock xx(mutex); diff --git a/src/utils/logger.h b/src/utils/logger.h index e175684..dfbaef4 100644 --- a/src/utils/logger.h +++ b/src/utils/logger.h @@ -75,7 +75,7 @@ namespace pvAccess { * @param[in] fname The file to write to. If the file exists, it * is opened for append. */ - epicsShareExtern void createFileLogger( epics::pvData::String const & fname ); + epicsShareExtern void createFileLogger( std::string const & fname ); } } diff --git a/testApp/client/MockClientImpl.cpp b/testApp/client/MockClientImpl.cpp index bf62862..df6fa7c 100644 --- a/testApp/client/MockClientImpl.cpp +++ b/testApp/client/MockClientImpl.cpp @@ -34,7 +34,7 @@ class MockChannelProcess : public ChannelProcess { PVACCESS_REFCOUNT_MONITOR_CONSTRUCT(mockChannelProcess); - PVField* field = pvStructure->getSubField(String("value")); + PVField* field = pvStructure->getSubField(std::string("value")); if (field == 0) { Status noValueFieldStatus(Status::STATUSTYPE_ERROR, "no 'value' field"); @@ -118,7 +118,7 @@ class MockChannelProcess : public ChannelProcess { // increment by one PVString *pvString = static_cast(m_valueField); - String val = pvString->get(); + string val = pvString->get(); if (val.empty()) pvString->put("gen0"); else @@ -370,8 +370,8 @@ class MockChannel : public Channel { private: ChannelProvider* m_provider; ChannelRequester* m_requester; - String m_name; - String m_remoteAddress; + string m_name; + string m_remoteAddress; PVStructure* m_pvStructure; @@ -386,8 +386,8 @@ class MockChannel : public Channel { MockChannel( ChannelProvider* provider, ChannelRequester* requester, - String name, - String remoteAddress) : + string name, + string remoteAddress) : m_provider(provider), m_requester(requester), m_name(name), @@ -397,11 +397,11 @@ class MockChannel : public Channel { ScalarType stype = pvDouble; - String allProperties("alarm,timeStamp,display,control,valueAlarm"); + string allProperties("alarm,timeStamp,display,control,valueAlarm"); m_pvStructure = getStandardPVField()->scalar( 0,name,stype,allProperties); - PVDouble *pvField = m_pvStructure->getDoubleField(String("value")); + PVDouble *pvField = m_pvStructure->getDoubleField(std::string("value")); pvField->put(1.123); @@ -415,12 +415,12 @@ class MockChannel : public Channel { delete this; }; - virtual String getRequesterName() + virtual string getRequesterName() { return getChannelName(); }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << messageTypeName[messageType] << ")" << std::endl; } @@ -430,12 +430,12 @@ class MockChannel : public Channel { return m_provider; } - virtual epics::pvData::String getRemoteAddress() + virtual std::string getRemoteAddress() { return m_remoteAddress; } - virtual epics::pvData::String getChannelName() + virtual std::string getChannelName() { return m_name; } @@ -460,7 +460,7 @@ class MockChannel : public Channel { return readWrite; } - virtual void getField(GetFieldRequester *requester,epics::pvData::String subField) + virtual void getField(GetFieldRequester *requester,std::string subField) { requester->getDone(Status::OK,m_pvStructure->getSubField(subField)->getField()); } @@ -517,14 +517,14 @@ class MockChannel : public Channel { } virtual void printInfo() { - String info; + string info; printInfo(&info); std::cout << info.c_str() << std::endl; } virtual void printInfo(epics::pvData::StringBuilder out) { //std::ostringstream ostr; - //static String emptyString; + //static string emptyString; out->append( "CHANNEL : "); out->append(m_name); out->append("\nSTATE : "); out->append(ConnectionStateNames[getConnectionState()]); @@ -576,7 +576,7 @@ class MockChannelProvider : public ChannelProvider { MockChannelProvider() : m_mockChannelFind(new MockChannelFind(this)) { } - virtual epics::pvData::String getProviderName() + virtual std::string getProviderName() { return "MockChannelProvider"; } @@ -588,7 +588,7 @@ class MockChannelProvider : public ChannelProvider { } virtual ChannelFind* channelFind( - epics::pvData::String channelName, + std::string channelName, ChannelFindRequester *channelFindRequester) { channelFindRequester->channelFindResult(Status::OK, m_mockChannelFind, true); @@ -596,7 +596,7 @@ class MockChannelProvider : public ChannelProvider { } virtual Channel* createChannel( - epics::pvData::String channelName, + std::string channelName, ChannelRequester *channelRequester, short priority) { @@ -604,10 +604,10 @@ class MockChannelProvider : public ChannelProvider { } virtual Channel* createChannel( - epics::pvData::String channelName, + std::string channelName, ChannelRequester *channelRequester, short priority, - epics::pvData::String address) + std::string address) { if (address == "local") { @@ -655,7 +655,7 @@ class MockClientContext : public ClientContext } virtual void printInfo() { - String info; + string info; printInfo(&info); std::cout << info.c_str() << std::endl; } @@ -695,12 +695,12 @@ class ChannelFindRequesterImpl : public ChannelFindRequester class ChannelRequesterImpl : public ChannelRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << messageTypeName[messageType] << ")" << std::endl; } @@ -719,12 +719,12 @@ class ChannelRequesterImpl : public ChannelRequester class GetFieldRequesterImpl : public GetFieldRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "GetFieldRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << messageTypeName[messageType] << ")" << std::endl; } @@ -734,7 +734,7 @@ class GetFieldRequesterImpl : public GetFieldRequester std::cout << "getDone(" << status.toString() << ", "; if (field) { - String str; + string str; field->toString(&str); std::cout << str; } @@ -750,12 +750,12 @@ class ChannelGetRequesterImpl : public ChannelGetRequester epics::pvData::PVStructure *m_pvStructure; epics::pvData::BitSet *m_bitSet; - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelGetRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << messageTypeName[messageType] << ")" << std::endl; } @@ -774,7 +774,7 @@ class ChannelGetRequesterImpl : public ChannelGetRequester virtual void getDone(const epics::pvData::Status& status) { std::cout << "getDone(" << status.toString() << ")" << std::endl; - String str; + string str; m_pvStructure->toString(&str); std::cout << str; std::cout << std::endl; @@ -787,12 +787,12 @@ class ChannelPutRequesterImpl : public ChannelPutRequester epics::pvData::PVStructure *m_pvStructure; epics::pvData::BitSet *m_bitSet; - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelPutRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << messageTypeName[messageType] << ")" << std::endl; } @@ -811,7 +811,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester virtual void getDone(const epics::pvData::Status& status) { std::cout << "getDone(" << status.toString() << ")" << std::endl; - String str; + string str; m_pvStructure->toString(&str); std::cout << str; std::cout << std::endl; @@ -820,7 +820,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester virtual void putDone(const epics::pvData::Status& status) { std::cout << "putDone(" << status.toString() << ")" << std::endl; - String str; + string str; m_pvStructure->toString(&str); std::cout << str; std::cout << std::endl; @@ -831,12 +831,12 @@ class ChannelPutRequesterImpl : public ChannelPutRequester class MonitorRequesterImpl : public MonitorRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "MonitorRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << messageTypeName[messageType] << ")" << std::endl; } @@ -846,7 +846,7 @@ class MonitorRequesterImpl : public MonitorRequester std::cout << "monitorConnect(" << status.toString() << ")" << std::endl; if (structure) { - String str; + string str; structure->toString(&str); std::cout << str << std::endl; } @@ -858,7 +858,7 @@ class MonitorRequesterImpl : public MonitorRequester MonitorElement* element = monitor->poll(); - String str("changed/overrun "); + string str("changed/overrun "); element->getChangedBitSet()->toString(&str); str += '/'; element->getOverrunBitSet()->toString(&str); @@ -880,12 +880,12 @@ class ChannelProcessRequesterImpl : public ChannelProcessRequester { ChannelProcess *m_channelProcess; - virtual String getRequesterName() + virtual string getRequesterName() { return "ProcessRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << messageTypeName[messageType] << ")" << std::endl; } diff --git a/testApp/client/testChannelAccessFactory.cpp b/testApp/client/testChannelAccessFactory.cpp index c24b196..60e39e1 100644 --- a/testApp/client/testChannelAccessFactory.cpp +++ b/testApp/client/testChannelAccessFactory.cpp @@ -16,19 +16,19 @@ using namespace epics::pvAccess; class DummyChannelProvider : public ChannelProvider { private: - String m_name; + string m_name; public: - DummyChannelProvider(String name) : m_name(name) {}; + DummyChannelProvider(std::string name) : m_name(name) {}; void destroy() {}; - String getProviderName() { return m_name; }; + string getProviderName() { return m_name; }; - ChannelFind* channelFind(String channelName,ChannelFindRequester *channelFindRequester) + ChannelFind* channelFind(std::string channelName,ChannelFindRequester *channelFindRequester) { return 0; } - Channel* createChannel(String channelName,ChannelRequester *channelRequester,short priority) + Channel* createChannel(std::string channelName,ChannelRequester *channelRequester,short priority) { return 0; } - Channel* createChannel(String channelName,ChannelRequester *channelRequester,short priority,String address) + Channel* createChannel(std::string channelName,ChannelRequester *channelRequester,short priority,String address) { return 0; } }; diff --git a/testApp/remote/channelAccessIFTest.cpp b/testApp/remote/channelAccessIFTest.cpp index aa1deea..dbb307e 100755 --- a/testApp/remote/channelAccessIFTest.cpp +++ b/testApp/remote/channelAccessIFTest.cpp @@ -275,7 +275,7 @@ void ChannelAccessIFTest::test_createEmptyChannel() { std::tr1::shared_ptr channelReq(new SyncChannelRequesterImpl()); try { - Channel::shared_pointer channel = getChannelProvider()->createChannel(String(), channelReq); + Channel::shared_pointer channel = getChannelProvider()->createChannel(std::string(), channelReq); testFail("%s: empty channel name should not be allowed", CURRENT_FUNCTION); return; } catch(std::runtime_error &) { @@ -293,7 +293,7 @@ void ChannelAccessIFTest::test_createChannelWithInvalidPriority() { std::tr1::shared_ptr channelReq(new SyncChannelRequesterImpl()); try { - Channel::shared_pointer channel = getChannelProvider()->createChannel(String(), channelReq, + Channel::shared_pointer channel = getChannelProvider()->createChannel(std::string(), channelReq, ChannelProvider::PRIORITY_MIN - 1 ); testFail("%s: invalid priority should not be allowed when creating a channel",CURRENT_FUNCTION); return; @@ -344,7 +344,7 @@ void ChannelAccessIFTest::test_findEmptyChannel() { try { std::tr1::shared_ptr channelFindReq(new SyncChannelFindRequesterImpl()); - getChannelProvider()->channelFind(String(), channelFindReq); + getChannelProvider()->channelFind(std::string(), channelFindReq); testFail("%s: empty channel name shoud never be allowed when searching for channels", CURRENT_FUNCTION); return; @@ -935,7 +935,7 @@ void ChannelAccessIFTest::test_channelGetFieldAll() { shared_ptr channelGetFieldReq(new SyncGetFieldRequesterImpl()); - channel->getField(channelGetFieldReq, String()); + channel->getField(channelGetFieldReq, string()); bool succStatus = channelGetFieldReq->waitUntilGetDone(getTimeoutSec()); if (!succStatus) { diff --git a/testApp/remote/syncTestRequesters.h b/testApp/remote/syncTestRequesters.h index 6bfa013..c875cca 100755 --- a/testApp/remote/syncTestRequesters.h +++ b/testApp/remote/syncTestRequesters.h @@ -219,7 +219,7 @@ class SyncChannelRequesterImpl : public epics::pvAccess::ChannelRequester, publi epics::pvAccess::Channel::shared_pointer const & channel) { if (m_debug) - std::cout << getRequesterName() << "." << "channelCreated(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "channelCreated(" << status << ")" << std::endl; Lock lock(m_pointerMutex); m_status = status; @@ -289,7 +289,7 @@ class SyncChannelFindRequesterImpl : public ChannelFindRequester, public SyncBas const epics::pvAccess::ChannelFind::shared_pointer&, bool wasFound) { if (m_debug) - std::cout << "channelFindResult(" << status.toString() << ")" << std::endl; + std::cout << "channelFindResult(" << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -371,7 +371,7 @@ class SyncChannelGetRequesterImpl : public ChannelGetRequester, public SyncBaseR epics::pvData::Structure::const_shared_pointer const & /*structure*/) { if (m_debug) - std::cout << getRequesterName() << "." << "channelGetConnect(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "channelGetConnect(" << status << ")" << std::endl; if (status.isSuccess()) { @@ -394,7 +394,7 @@ class SyncChannelGetRequesterImpl : public ChannelGetRequester, public SyncBaseR epics::pvData::BitSet::shared_pointer const & bitSet) { if (m_debug) - std::cout << getRequesterName() << "." << "getDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "getDone(" << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -496,7 +496,7 @@ class SyncChannelPutRequesterImpl : public ChannelPutRequester, public SyncBaseR { if (m_debug) - std::cout << getRequesterName() << "." << "channelPutConnect(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "channelPutConnect(" << status << ")" << std::endl; if (status.isSuccess()) { @@ -522,7 +522,7 @@ class SyncChannelPutRequesterImpl : public ChannelPutRequester, public SyncBaseR epics::pvData::BitSet::shared_pointer const & bitSet) { if (m_debug) - std::cout << getRequesterName() << "." << "getDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "getDone(" << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -540,7 +540,7 @@ class SyncChannelPutRequesterImpl : public ChannelPutRequester, public SyncBaseR ChannelPut::shared_pointer const & channelPut) { if (m_debug) - std::cout << getRequesterName() << "." << "putDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "putDone(" << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -595,7 +595,7 @@ class SyncGetFieldRequesterImpl : public GetFieldRequester, public SyncBaseReque { if (m_debug) - std::cout << getRequesterName() << "." << "getDone(" << status.toString() << endl; + std::cout << getRequesterName() << "." << "getDone(" << status << endl; if (status.isSuccess() && field) { @@ -665,7 +665,7 @@ class SyncChannelProcessRequesterImpl : public ChannelProcessRequester, public S { if (m_debug) - std::cout << getRequesterName() << "." << "channelProcessConnect(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "channelProcessConnect(" << status << ")" << std::endl; if (status.isSuccess()) { @@ -688,7 +688,7 @@ class SyncChannelProcessRequesterImpl : public ChannelProcessRequester, public S ChannelProcess::shared_pointer const & channelProcess) { if (m_debug) - std::cout << getRequesterName() << "." << "processDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "processDone(" << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -812,7 +812,7 @@ class SyncChannelPutGetRequesterImpl : public ChannelPutGetRequester, public Syn { if (m_debug) std::cout << getRequesterName() << "." << "channelGetPutConnect(" - << status.toString() << ")" << std::endl; + << status << ")" << std::endl; if (status.isSuccess()) { @@ -839,7 +839,7 @@ class SyncChannelPutGetRequesterImpl : public ChannelPutGetRequester, public Syn epics::pvData::BitSet::shared_pointer const & getBitSet) { if (m_debug) - std::cout << getRequesterName() << "." << "getGetDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "getGetDone(" << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -861,7 +861,7 @@ class SyncChannelPutGetRequesterImpl : public ChannelPutGetRequester, public Syn epics::pvData::BitSet::shared_pointer const & putBitSet) { if (m_debug) - std::cout << getRequesterName() << "." << "getPutDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "getPutDone(" << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -883,7 +883,7 @@ class SyncChannelPutGetRequesterImpl : public ChannelPutGetRequester, public Syn epics::pvData::BitSet::shared_pointer const & getBitSet) { if (m_debug) - std::cout << getRequesterName() << "." << "putGetDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "putGetDone(" << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -1009,7 +1009,7 @@ class SyncChannelRPCRequesterImpl : public ChannelRPCRequester, public SyncBaseR if (m_debug) std::cout << getRequesterName() << "." << "channelRPCConnect(" - << status.toString() << ")" << std::endl; + << status << ")" << std::endl; if (status.isSuccess()) { @@ -1036,7 +1036,7 @@ class SyncChannelRPCRequesterImpl : public ChannelRPCRequester, public SyncBaseR if (m_debug) std::cout << getRequesterName() << "." << "requestDone(" - << status.toString() << ")" << std::endl; + << status << ")" << std::endl; { Lock lock(m_pointerMutex); @@ -1155,7 +1155,7 @@ class SyncMonitorRequesterImpl: public MonitorRequester, public SyncBaseRequeste StructureConstPtr const & /*structure*/) { if (m_debug) - std::cout << getRequesterName() << "." << "monitorConnect(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << "." << "monitorConnect(" << status << ")" << std::endl; if (status.isSuccess()) { @@ -1304,13 +1304,13 @@ class SyncChannelArrayRequesterImpl : public ChannelArrayRequester, public SyncB } - virtual String getRequesterName() + virtual string getRequesterName() { return "SynChannelArrayRequesterImpl"; } - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { if (m_debug) std::cout << "[" << getRequesterName() << "] message(" << message << ", " @@ -1323,7 +1323,7 @@ class SyncChannelArrayRequesterImpl : public ChannelArrayRequester, public SyncB epics::pvData::Array::const_shared_pointer const & /*array*/) { if (m_debug) - std::cout << getRequesterName() << ".channelArrayConnect(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << ".channelArrayConnect(" << status << ")" << std::endl; if (status.isSuccess()) { { @@ -1347,7 +1347,7 @@ class SyncChannelArrayRequesterImpl : public ChannelArrayRequester, public SyncB epics::pvData::PVArray::shared_pointer const & pvArray) { if (m_debug) - std::cout << getRequesterName() << ".getArrayDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << ".getArrayDone(" << status << ")" << std::endl; Lock lock(m_pointerMutex); @@ -1363,7 +1363,7 @@ class SyncChannelArrayRequesterImpl : public ChannelArrayRequester, public SyncB ChannelArray::shared_pointer const & channelArray) { if (m_debug) - std::cout << getRequesterName() << ".putArrayDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << ".putArrayDone(" << status << ")" << std::endl; Lock lock(m_pointerMutex); @@ -1378,7 +1378,7 @@ class SyncChannelArrayRequesterImpl : public ChannelArrayRequester, public SyncB ChannelArray::shared_pointer const & channelArray) { if (m_debug) - std::cout << getRequesterName() << ".setLengthDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << ".setLengthDone(" << status << ")" << std::endl; Lock lock(m_pointerMutex); @@ -1393,7 +1393,7 @@ class SyncChannelArrayRequesterImpl : public ChannelArrayRequester, public SyncB size_t length, size_t capacity) { if (m_debug) - std::cout << getRequesterName() << ".getLengthDone(" << status.toString() << ")" << std::endl; + std::cout << getRequesterName() << ".getLengthDone(" << status << ")" << std::endl; Lock lock(m_pointerMutex); diff --git a/testApp/remote/testChannelConnect.cpp b/testApp/remote/testChannelConnect.cpp index 068d35c..c6a5e84 100644 --- a/testApp/remote/testChannelConnect.cpp +++ b/testApp/remote/testChannelConnect.cpp @@ -31,12 +31,12 @@ private: int count; Event& g_event; - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -45,7 +45,7 @@ private: { if (!status.isSuccess()) { - std::cout << "channelCreated(" << status.toString() << ", " + std::cout << "channelCreated(" << status << ", " << (channel ? channel->getChannelName() : "(0)") << ")" << std::endl; } } diff --git a/testApp/remote/testChannelSearchManager.cpp b/testApp/remote/testChannelSearchManager.cpp index 4045efd..0e209a6 100644 --- a/testApp/remote/testChannelSearchManager.cpp +++ b/testApp/remote/testChannelSearchManager.cpp @@ -74,7 +74,7 @@ private: void initializeUDPTransport() { } void internalDestroy() { } void destroyAllChannels() { } - void checkChannelName(String const & name) {} + void checkChannelName(std::string const & name) {} void checkState() { } pvAccessID generateCID() { @@ -87,7 +87,7 @@ private: { return NULL; } - Channel* createChannelInternal(String name, ChannelRequester* requester, short priority, + Channel* createChannelInternal(std::string name, ChannelRequester* requester, short priority, InetAddrVector* addresses) { return NULL; diff --git a/testApp/remote/testCodec.cpp b/testApp/remote/testCodec.cpp index f39846a..1fa3246 100644 --- a/testApp/remote/testCodec.cpp +++ b/testApp/remote/testCodec.cpp @@ -317,9 +317,9 @@ namespace epics { void release(pvAccessID clientId) {} - epics::pvData::String getType() const + std::string getType() const { - return epics::pvData::String("TCP"); + return std::string("TCP"); } const osiSockAddr* getRemoteAddress() const { return 0; } diff --git a/testApp/remote/testGetPerformance.cpp b/testApp/remote/testGetPerformance.cpp index 24c6205..dc4749a 100644 --- a/testApp/remote/testGetPerformance.cpp +++ b/testApp/remote/testGetPerformance.cpp @@ -60,12 +60,12 @@ class RequesterImpl : public Requester, { public: - virtual String getRequesterName() + virtual string getRequesterName() { return "RequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -127,24 +127,24 @@ class ChannelGetRequesterImpl : public ChannelGetRequester private: Event m_event; Event m_connectionEvent; - String m_channelName; + string m_channelName; int m_count; timeval m_startTime; public: - ChannelGetRequesterImpl(String channelName) : + ChannelGetRequesterImpl(std::string channelName) : m_channelName(channelName) { } - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelGetRequesterImpl"; } - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -158,14 +158,14 @@ public: // show warning if (!status.isOK()) { - std::cout << "[" << m_channelName << "] channel get create: " << status.toString() << std::endl; + std::cout << "[" << m_channelName << "] channel get create: " << status << std::endl; } m_connectionEvent.signal(); } else { - std::cout << "[" << m_channelName << "] failed to create channel get: " << status.toString() << std::endl; + std::cout << "[" << m_channelName << "] failed to create channel get: " << status << std::endl; } } @@ -179,7 +179,7 @@ public: // show warning if (!status.isOK()) { - std::cout << "[" << m_channelName << "] channel get: " << status.toString() << std::endl; + std::cout << "[" << m_channelName << "] channel get: " << status << std::endl; } channelCount++; @@ -223,7 +223,7 @@ public: } else { - std::cout << "[" << m_channelName << "] failed to get: " << status.toString() << std::endl; + std::cout << "[" << m_channelName << "] failed to get: " << status << std::endl; } } @@ -240,12 +240,12 @@ private: public: - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -258,12 +258,12 @@ public: // show warning if (!status.isOK()) { - std::cout << "[" << channel->getChannelName() << "] channel create: " << status.toString() << std::endl; + std::cout << "[" << channel->getChannelName() << "] channel create: " << status << std::endl; } } else { - std::cout << "[" << channel->getChannelName() << "] failed to create a channel: " << status.toString() << std::endl; + std::cout << "[" << channel->getChannelName() << "] failed to create a channel: " << status << std::endl; } } @@ -330,7 +330,7 @@ void runTest() if (bulkMode) provider->flush(); bool differentConnectionsWarningIssued = false; - String theRemoteAddress; + string theRemoteAddress; for (vector::iterator i = channels.begin(); i != channels.end(); i++) @@ -340,7 +340,7 @@ void runTest() dynamic_pointer_cast(channel->getChannelRequester()); if (channelRequesterImpl->waitUntilConnected(5.0)) { - String remoteAddress = channel->getRemoteAddress(); + string remoteAddress = channel->getRemoteAddress(); if (theRemoteAddress.empty()) { theRemoteAddress = remoteAddress; diff --git a/testApp/remote/testNTImage.cpp b/testApp/remote/testNTImage.cpp index bd4a5d4..9a247d6 100644 --- a/testApp/remote/testNTImage.cpp +++ b/testApp/remote/testNTImage.cpp @@ -83,7 +83,7 @@ void setImageArrayValues( const int8_t* raw ) { - String id = imagePV->getStructure()->getID(); + string id = imagePV->getStructure()->getID(); PVByteArrayPtr pvField = static_pointer_cast(imagePV->getSubField("value")); const int8_t *data = raw; @@ -96,7 +96,7 @@ void setImageArrayValues( pvField->replace(freeze(temp)); PVIntArrayPtr dimField = static_pointer_cast( - imagePV->getScalarArrayField(String("dim"), pvInt)); + imagePV->getScalarArrayField(std::string("dim"), pvInt)); const int32_t *dim = raw_dim; PVIntArray::svector temp2(dimField->reuse()); @@ -113,11 +113,11 @@ void setImageImageValues( const int32_t* raw_dim ) { - PVIntPtr colorModeField = imagePV->getIntField(String("colorMode")); + PVIntPtr colorModeField = imagePV->getIntField(std::string("colorMode")); colorModeField->put(colorMode); PVIntArrayPtr offsetField = static_pointer_cast( - imagePV->getScalarArrayField(String("offset"), pvInt)); + imagePV->getScalarArrayField(std::string("offset"), pvInt)); PVIntArray::svector temp(offsetField->reuse()); temp.resize(2); int32_t offsets[] = { 0, 0 }; @@ -125,7 +125,7 @@ void setImageImageValues( offsetField->replace(freeze(temp)); PVIntArrayPtr binningField = static_pointer_cast( - imagePV->getScalarArrayField(String("binning"), pvInt)); + imagePV->getScalarArrayField(std::string("binning"), pvInt)); temp = binningField->reuse(); temp.resize(2); int32_t binnings[] = { 1, 1 }; @@ -133,7 +133,7 @@ void setImageImageValues( binningField->replace(freeze(temp)); PVIntArrayPtr reverseField = static_pointer_cast( - imagePV->getScalarArrayField(String("reverse"), pvInt)); + imagePV->getScalarArrayField(std::string("reverse"), pvInt)); reverseField->setCapacity(2); temp = reverseField->reuse(); temp.resize(2); @@ -142,7 +142,7 @@ void setImageImageValues( reverseField->replace(freeze(temp)); PVIntArrayPtr fullDimField = static_pointer_cast( - imagePV->getScalarArrayField(String("fullDim"), pvInt)); + imagePV->getScalarArrayField(std::string("fullDim"), pvInt)); temp = fullDimField->reuse(); temp.resize(raw_dim_size); const int32_t *fullDim = raw_dim; @@ -153,7 +153,7 @@ void setImageImageValues( void setImageUniqueId(PVStructure::shared_pointer const & imagePV) { - PVIntPtr uniqueIdField = imagePV->getIntField(String("uniqueId")); + PVIntPtr uniqueIdField = imagePV->getIntField(std::string("uniqueId")); uniqueIdField->put(0); } @@ -246,7 +246,7 @@ void rotateImage(PVStructure::shared_pointer const & imagePV, const int8_t* orig } array->replace(freeze(imgData)); - PVIntPtr uniqueIdField = imagePV->getIntField(String("uniqueId")); + PVIntPtr uniqueIdField = imagePV->getIntField(std::string("uniqueId")); uniqueIdField->put(uniqueIdField->get()+1); } diff --git a/testApp/remote/testRemoteClientImpl.cpp b/testApp/remote/testRemoteClientImpl.cpp index 0fbf295..d2b8942 100644 --- a/testApp/remote/testRemoteClientImpl.cpp +++ b/testApp/remote/testRemoteClientImpl.cpp @@ -11,6 +11,7 @@ using namespace epics::pvData; using namespace epics::pvAccess; +using std::string; #define SLEEP_TIME 1.0 @@ -21,25 +22,25 @@ class ChannelFindRequesterImpl : public ChannelFindRequester bool wasFound) { std::cout << "[ChannelFindRequesterImpl] channelFindResult(" - << status.toString() << ", ..., " << wasFound << ")" << std::endl; + << status << ", ..., " << wasFound << ")" << std::endl; } }; class ChannelRequesterImpl : public ChannelRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } virtual void channelCreated(const epics::pvData::Status& status, Channel::shared_pointer const & channel) { - std::cout << "channelCreated(" << status.toString() << ", " + std::cout << "channelCreated(" << status << ", " << (channel ? channel->getChannelName() : "(0)") << ")" << std::endl; } @@ -51,24 +52,22 @@ class ChannelRequesterImpl : public ChannelRequester class GetFieldRequesterImpl : public GetFieldRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "GetFieldRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } virtual void getDone(const epics::pvData::Status& status, epics::pvData::FieldConstPtr const & field) { - std::cout << "getDone(" << status.toString() << ", "; + std::cout << "getDone(" << status << ", "; if (status.isSuccess() && field) { - String str; - field->toString(&str); - std::cout << str; + std::cout << *field; } else std::cout << "(0)"; @@ -80,12 +79,12 @@ class ChannelGetRequesterImpl : public ChannelGetRequester { public: - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelGetRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -93,26 +92,21 @@ class ChannelGetRequesterImpl : public ChannelGetRequester virtual void channelGetConnect(const epics::pvData::Status& status,ChannelGet::shared_pointer const & /*channelGet*/, epics::pvData::Structure::const_shared_pointer const & pvStructure) { - std::cout << "channelGetConnect(" << status.toString() << ")" << std::endl; + std::cout << "channelGetConnect(" << status << ")" << std::endl; if (status.isSuccess()) { - String st; - pvStructure->toString(&st); - std::cout << st << std::endl; + std::cout << *pvStructure << std::endl; } } virtual void getDone(const epics::pvData::Status& status, ChannelGet::shared_pointer const &, PVStructure::shared_pointer const & getData, BitSet::shared_pointer const & /*bitSet*/) { - std::cout << "getDone(" << status.toString() << ")" << std::endl; + std::cout << "getDone(" << status << ")" << std::endl; if (status.isSuccess()) { - String str; - getData->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *getData << std::endl; } } }; @@ -121,12 +115,12 @@ class ChannelPutRequesterImpl : public ChannelPutRequester { public: - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelPutRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -134,31 +128,26 @@ class ChannelPutRequesterImpl : public ChannelPutRequester virtual void channelPutConnect(const epics::pvData::Status& status,ChannelPut::shared_pointer const & /*channelPut*/, epics::pvData::Structure::const_shared_pointer const & pvStructure) { - std::cout << "channelPutConnect(" << status.toString() << ")" << std::endl; + std::cout << "channelPutConnect(" << status << ")" << std::endl; if (status.isSuccess()) { - String st; - pvStructure->toString(&st); - std::cout << st << std::endl; + std::cout << *pvStructure << std::endl; } } virtual void getDone(const epics::pvData::Status& status, ChannelPut::shared_pointer const &, PVStructure::shared_pointer const & getData, BitSet::shared_pointer const & /*bitSet*/) { - std::cout << "getDone(" << status.toString() << ")" << std::endl; + std::cout << "getDone(" << status << ")" << std::endl; if (status.isSuccess()) { - String str; - getData->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *getData << std::endl; } } virtual void putDone(const epics::pvData::Status& status, ChannelPut::shared_pointer const &) { - std::cout << "putDone(" << status.toString() << ")" << std::endl; + std::cout << "putDone(" << status << ")" << std::endl; } }; @@ -167,12 +156,12 @@ class ChannelPutGetRequesterImpl : public ChannelPutGetRequester { public: - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelGetPutRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -181,60 +170,45 @@ class ChannelPutGetRequesterImpl : public ChannelPutGetRequester epics::pvData::Structure::const_shared_pointer const & putData, epics::pvData::Structure::const_shared_pointer const & getData) { - std::cout << "channelGetPutConnect(" << status.toString() << ")" << std::endl; + std::cout << "channelGetPutConnect(" << status << ")" << std::endl; if (putData) { - String str; - putData->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *putData << std::endl; } if (getData) { - String str; - getData->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *getData << std::endl; } } virtual void getGetDone(const epics::pvData::Status& status, ChannelPutGet::shared_pointer const &, PVStructure::shared_pointer const & getData, BitSet::shared_pointer const & /*bitSet*/) { - std::cout << "getGetDone(" << status.toString() << ")" << std::endl; + std::cout << "getGetDone(" << status << ")" << std::endl; if (status.isSuccess()) { - String str; - getData->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *getData << std::endl; } } virtual void getPutDone(const epics::pvData::Status& status, ChannelPutGet::shared_pointer const &, PVStructure::shared_pointer const & putData, BitSet::shared_pointer const & /*bitSet*/) { - std::cout << "getPutDone(" << status.toString() << ")" << std::endl; + std::cout << "getPutDone(" << status << ")" << std::endl; if (status.isSuccess()) { - String str; - putData->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *putData << std::endl; } } virtual void putGetDone(const epics::pvData::Status& status, ChannelPutGet::shared_pointer const &, PVStructure::shared_pointer const & putData, BitSet::shared_pointer const & /*bitSet*/) { - std::cout << "putGetDone(" << status.toString() << ")" << std::endl; + std::cout << "putGetDone(" << status << ")" << std::endl; if (status.isSuccess()) { - String str; - putData->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *putData << std::endl; } } @@ -243,12 +217,12 @@ class ChannelPutGetRequesterImpl : public ChannelPutGetRequester class ChannelRPCRequesterImpl : public ChannelRPCRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelRPCRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -256,19 +230,16 @@ class ChannelRPCRequesterImpl : public ChannelRPCRequester virtual void channelRPCConnect(const epics::pvData::Status& status, ChannelRPC::shared_pointer const & /*channelRPC*/) { - std::cout << "channelRPCConnect(" << status.toString() << ")" << std::endl; + std::cout << "channelRPCConnect(" << status << ")" << std::endl; } virtual void requestDone(const epics::pvData::Status& status, ChannelRPC::shared_pointer const &, epics::pvData::PVStructure::shared_pointer const & pvResponse) { - std::cout << "requestDone(" << status.toString() << ")" << std::endl; + std::cout << "requestDone(" << status << ")" << std::endl; if (status.isSuccess()) { - String str; - pvResponse->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *pvResponse << std::endl; } } }; @@ -277,12 +248,12 @@ class ChannelArrayRequesterImpl : public ChannelArrayRequester { public: - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelArrayRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -290,12 +261,10 @@ class ChannelArrayRequesterImpl : public ChannelArrayRequester virtual void channelArrayConnect(const epics::pvData::Status& status,ChannelArray::shared_pointer const & /*channelArray*/, epics::pvData::Array::const_shared_pointer const & array) { - std::cout << "channelArrayConnect(" << status.toString() << ")" << std::endl; + std::cout << "channelArrayConnect(" << status << ")" << std::endl; if (status.isSuccess()) { - String st; - array->toString(&st); - std::cout << st << std::endl; + std::cout << array << std::endl; } } @@ -303,41 +272,38 @@ class ChannelArrayRequesterImpl : public ChannelArrayRequester virtual void getArrayDone(const epics::pvData::Status& status, ChannelArray::shared_pointer const &, PVArray::shared_pointer const & pvArray) { - std::cout << "getArrayDone(" << status.toString() << ")" << std::endl; + std::cout << "getArrayDone(" << status << ")" << std::endl; if (status.isSuccess()) { - String str; - pvArray->toString(&str); - std::cout << str; - std::cout << std::endl; + std::cout << *pvArray << std::endl; } } virtual void putArrayDone(const epics::pvData::Status& status, ChannelArray::shared_pointer const &) { - std::cout << "putArrayDone(" << status.toString() << ")" << std::endl; + std::cout << "putArrayDone(" << status << ")" << std::endl; } virtual void setLengthDone(const epics::pvData::Status& status, ChannelArray::shared_pointer const &) { - std::cout << "setLengthDone(" << status.toString() << ")" << std::endl; + std::cout << "setLengthDone(" << status << ")" << std::endl; } virtual void getLengthDone(const epics::pvData::Status& status, ChannelArray::shared_pointer const &, size_t length, size_t capacity) { - std::cout << "getLengthDone(" << status.toString() << "," << length << "," << capacity << ")" << std::endl; + std::cout << "getLengthDone(" << status << "," << length << "," << capacity << ")" << std::endl; } }; class MonitorRequesterImpl : public MonitorRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "MonitorRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -345,12 +311,10 @@ class MonitorRequesterImpl : public MonitorRequester virtual void monitorConnect(const epics::pvData::Status& status, Monitor::shared_pointer const & /*monitor*/, StructureConstPtr const & structure) { - std::cout << "monitorConnect(" << status.toString() << ")" << std::endl; + std::cout << "monitorConnect(" << status << ")" << std::endl; if (status.isSuccess() && structure) { - String str; - structure->toString(&str); - std::cout << str << std::endl; + std::cout << *structure << std::endl; } } @@ -360,13 +324,8 @@ class MonitorRequesterImpl : public MonitorRequester MonitorElement::shared_pointer element = monitor->poll(); - String str("changed/overrun "); - element->changedBitSet->toString(&str); - str += '/'; - element->overrunBitSet->toString(&str); - str += '\n'; - element->pvStructurePtr->toString(&str); - std::cout << str << std::endl; + std::cout << "changed/overrun " << *element->changedBitSet << '/' << + *element->overrunBitSet << std::endl << *element->pvStructurePtr << std::endl; monitor->release(element); } @@ -382,12 +341,12 @@ class ChannelProcessRequesterImpl : public ChannelProcessRequester { //ChannelProcess::shared_pointer const & m_channelProcess; - virtual String getRequesterName() + virtual string getRequesterName() { return "ProcessRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -395,14 +354,14 @@ class ChannelProcessRequesterImpl : public ChannelProcessRequester virtual void channelProcessConnect(const epics::pvData::Status& status, ChannelProcess::shared_pointer const & /*channelProcess*/) { - std::cout << "channelProcessConnect(" << status.toString() << ")" << std::endl; + std::cout << "channelProcessConnect(" << status << ")" << std::endl; //m_channelProcess = channelProcess; } virtual void processDone(const epics::pvData::Status& status, ChannelProcess::shared_pointer const &) { - std::cout << "processDone(" << status.toString() << ")" << std::endl; + std::cout << "processDone(" << status << ")" << std::endl; } }; @@ -531,12 +490,12 @@ int main() epicsThreadSleep( SLEEP_TIME ); Status status = monitor->start(); - std::cout << "monitor->start() = " << status.toString() << std::endl; + std::cout << "monitor->start() = " << status << std::endl; epicsThreadSleep( 3*SLEEP_TIME ); status = monitor->stop(); - std::cout << "monitor->stop() = " << status.toString() << std::endl; + std::cout << "monitor->stop() = " << status << std::endl; monitor->destroy(); diff --git a/testApp/remote/testServer.cpp b/testApp/remote/testServer.cpp index 5b22ffa..c8ab719 100644 --- a/testApp/remote/testServer.cpp +++ b/testApp/remote/testServer.cpp @@ -39,7 +39,7 @@ void testServerShutdown(); #include "testNTImage.cpp" Mutex structureStoreMutex; -map structureStore; +map structureStore; class StructureChangedCallback { public: @@ -48,10 +48,10 @@ public: virtual void structureChanged() = 0; }; -typedef map > StructureChangedListenersMap; +typedef map > StructureChangedListenersMap; StructureChangedListenersMap structureChangedListeners; -static void notifyStructureChanged(String const & name) +static void notifyStructureChanged(std::string const & name) { // NOTE: not thread-safe if (structureChangedListeners.find(name) != structureChangedListeners.end()) @@ -69,7 +69,7 @@ static void notifyStructureChanged(String const & name) static PVStructure::shared_pointer getRequestedStructure( PVStructure::shared_pointer const & pvStructure, PVStructure::shared_pointer const & pvRequest, - String subfieldName = "field") + string subfieldName = "field") { // if pvRequest is empty, just use pvStructure if (pvRequest.get() && pvRequest->getPVFields().size() > 0) @@ -156,7 +156,7 @@ public: // ADC class ADCAction : public Runnable { public: - String name; + string name; epics::pvData::PVStructure::shared_pointer adcMatrix; SimADC::smart_pointer_type adcSim; @@ -218,7 +218,7 @@ public: // testNTImage class NTImageAction : public Runnable { public: - String name; + string name; PVStructure::shared_pointer pvImage; float angle; double period; @@ -490,25 +490,25 @@ class ChannelFindRequesterImpl : public ChannelFindRequester ChannelFind::shared_pointer const & /*channelFind*/, bool wasFound) { std::cout << "[ChannelFindRequesterImpl] channelFindResult(" - << status.toString() << ", ..., " << wasFound << ")" << std::endl; + << status << ", ..., " << wasFound << ")" << std::endl; } }; class ChannelRequesterImpl : public ChannelRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } virtual void channelCreated(epics::pvData::Status const & /*status*/, Channel::shared_pointer const & /*channel*/) { - //std::cout << "channelCreated(" << status.toString() << ", " + //std::cout << "channelCreated(" << status << ", " // << (channel ? channel->getChannelName() : "(null)") << ")" << std::endl; } @@ -520,24 +520,22 @@ class ChannelRequesterImpl : public ChannelRequester class GetFieldRequesterImpl : public GetFieldRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "GetFieldRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } virtual void getDone(const epics::pvData::Status& status,epics::pvData::FieldConstPtr field) { - std::cout << "getDone(" << status.toString() << ", "; + std::cout << "getDone(" << status << ", "; if (field) { - String str; - field->toString(&str); - std::cout << str; + std::cout << *field; } else std::cout << "(null)"; @@ -551,12 +549,12 @@ class ChannelGetRequesterImpl : public ChannelGetRequester epics::pvData::PVStructure::shared_pointer m_pvStructure; epics::pvData::BitSet::shared_pointer m_bitSet; - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelGetRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -566,7 +564,7 @@ class ChannelGetRequesterImpl : public ChannelGetRequester epics::pvData::PVStructure::shared_pointer const & pvStructure, epics::pvData::BitSet::shared_pointer const & bitSet) { - std::cout << "channelGetConnect(" << status.toString() << ")" << std::endl; + std::cout << "channelGetConnect(" << status << ")" << std::endl; //m_channelGet = channelGet; m_pvStructure = pvStructure; @@ -575,10 +573,8 @@ class ChannelGetRequesterImpl : public ChannelGetRequester virtual void getDone(const epics::pvData::Status& status) { - std::cout << "getDone(" << status.toString() << ")" << std::endl; - String str; - m_pvStructure->toString(&str); - std::cout << str; + std::cout << "getDone(" << status << ")" << std::endl; + std::cout << *m_pvStructure; std::cout << std::endl; } }; @@ -589,12 +585,12 @@ class ChannelPutRequesterImpl : public ChannelPutRequester epics::pvData::PVStructure::shared_pointer m_pvStructure; epics::pvData::BitSet::shared_pointer m_bitSet; - virtual String getRequesterName() + virtual string getRequesterName() { return "ChannelPutRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -604,7 +600,7 @@ class ChannelPutRequesterImpl : public ChannelPutRequester epics::pvData::PVStructure::shared_pointer const & pvStructure, epics::pvData::BitSet::shared_pointer const & bitSet) { - std::cout << "channelPutConnect(" << status.toString() << ")" << std::endl; + std::cout << "channelPutConnect(" << status << ")" << std::endl; //m_channelPut = channelPut; m_pvStructure = pvStructure; @@ -613,19 +609,15 @@ class ChannelPutRequesterImpl : public ChannelPutRequester virtual void getDone(const epics::pvData::Status& status) { - std::cout << "getDone(" << status.toString() << ")" << std::endl; - String str; - m_pvStructure->toString(&str); - std::cout << str; + std::cout << "getDone(" << status << ")" << std::endl; + std::cout << *m_pvStructure; std::cout << std::endl; } virtual void putDone(const epics::pvData::Status& status) { - std::cout << "putDone(" << status.toString() << ")" << std::endl; - String str; - m_pvStructure->toString(&str); - std::cout << str; + std::cout << "putDone(" << status << ")" << std::endl; + std::cout << *m_pvStructure; std::cout << std::endl; } @@ -634,12 +626,12 @@ class ChannelPutRequesterImpl : public ChannelPutRequester class MonitorRequesterImpl : public MonitorRequester { - virtual String getRequesterName() + virtual string getRequesterName() { return "MonitorRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -647,12 +639,10 @@ class MonitorRequesterImpl : public MonitorRequester virtual void monitorConnect(const Status& status, Monitor::shared_pointer const & /*monitor*/, StructureConstPtr& structure) { - std::cout << "monitorConnect(" << status.toString() << ")" << std::endl; + std::cout << "monitorConnect(" << status << ")" << std::endl; if (structure) { - String str; - structure->toString(&str); - std::cout << str << std::endl; + std::cout << *structure << std::endl; } } @@ -662,13 +652,8 @@ class MonitorRequesterImpl : public MonitorRequester MonitorElement::shared_pointer element = monitor->poll(); - String str("changed/overrun "); - element->changedBitSet->toString(&str); - str += '/'; - element->overrunBitSet->toString(&str); - str += '\n'; - element->pvStructurePtr->toString(&str); - std::cout << str << std::endl; + std::cout << "changed/overrun " << *element->changedBitSet << '/' << + *element->overrunBitSet << std::endl << *element->pvStructurePtr << std::endl; monitor->release(element); } @@ -684,12 +669,12 @@ class ChannelProcessRequesterImpl : public ChannelProcessRequester { //TODO weak ChannelProcess::shared_pointer m_channelProcess; - virtual String getRequesterName() + virtual string getRequesterName() { return "ProcessRequesterImpl"; }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -697,7 +682,7 @@ class ChannelProcessRequesterImpl : public ChannelProcessRequester virtual void channelProcessConnect(const epics::pvData::Status& /*status*/, ChannelProcess::shared_pointer const & /*channelProcess*/) { - //std::cout << "channelProcessConnect(" << status.toString() << ")" << std::endl; + //std::cout << "channelProcessConnect(" << status << ")" << std::endl; //m_channelProcess = channelProcess; } @@ -705,7 +690,7 @@ class ChannelProcessRequesterImpl : public ChannelProcessRequester virtual void processDone(const epics::pvData::Status& /*status*/, ChannelProcess::shared_pointer const &) { - //std::cout << "processDone(" << status.toString() << ")" << std::endl; + //std::cout << "processDone(" << status << ")" << std::endl; } }; @@ -856,7 +841,7 @@ public: { // increment by one PVStringPtr pvString = static_pointer_cast(m_valueField); - String val = pvString->get(); + string val = pvString->get(); if (val.empty()) pvString->put("gen0"); else @@ -1314,7 +1299,7 @@ static bool handleHelp( epics::pvData::PVStructure::shared_pointer const & args, ChannelRPC::shared_pointer const & channelRPC, ChannelRPCRequester::shared_pointer const & channelRPCRequester, - String const & helpText + string const & helpText ) { if (args->getSubField("help")) @@ -1382,7 +1367,7 @@ public: virtual void request(epics::pvData::PVStructure::shared_pointer const & pvArgument) { - String channelName = m_channel->getChannelName(); + string channelName = m_channel->getChannelName(); if (channelName == "testNTTable") { PVStructure::shared_pointer args( @@ -1391,7 +1376,7 @@ public: pvArgument ); - const String helpText = + const string helpText = "Generates a NTTable structure response with 10 rows and a specified number of columns.\n" "Columns are labeled 'column' and values are ' + random [0..1)'.\n" "Arguments:\n\tstring columns\tnumber of table columns\n"; @@ -1421,7 +1406,7 @@ public: pvArgument ); - const String helpText = + const string helpText = "Generates a NTNameValue structure response with a specified number of columns.\n" "Columns are labeled 'name' and values are ' + random [0..1)'.\n" "Arguments:\n\tstring columns\tnumber of columns\n"; @@ -1480,7 +1465,7 @@ public: pvArgument ); - const String helpText = + const string helpText = "Generates a NTMatrix structure response with a specified number of rows and columns.\n" "Matrix values are ' + random [0..1)'.\n" "Arguments:\n" @@ -1545,7 +1530,7 @@ public: pvArgument ); - const String helpText = + const string helpText = "Generates a NTImage structure response that has encoded a specified image.\n" "Arguments:\n" "\tstring file\tfile path (relative to a location where the server was started) of a raw encoded image.\n" @@ -1572,7 +1557,7 @@ public: { int32 wv = atoi(w->get().c_str()); int32 hv = atoi(h->get().c_str()); - String filev = file->get(); + string filev = file->get(); // ImageMagick conversion // RGB888: convert img.png img.rgb @@ -1632,7 +1617,7 @@ public: } else if (channelName == "testNTURI") { - const String helpText = + const string helpText = "Returns the NTURI structure response identical the NTURI request.\n" "Arguments: (none)\n"; if (handleHelp(pvArgument, shared_from_this(), m_channelRPCRequester, helpText)) @@ -1658,7 +1643,7 @@ public: pvArgument ); - const String helpText = + const string helpText = "Calculates a sum of two integer values.\n" "Arguments:\n" "\tint a\tfirst integer number\n" @@ -2016,7 +2001,7 @@ class MockMonitor : public std::tr1::enable_shared_from_this { private: - String m_channelName; + string m_channelName; MonitorRequester::shared_pointer m_monitorRequester; PVStructure::shared_pointer m_pvStructure; PVStructure::shared_pointer m_copy; @@ -2033,7 +2018,7 @@ private: MonitorElement::shared_pointer m_nullMonitor; protected: - MockMonitor(String const & channelName, MonitorRequester::shared_pointer const & monitorRequester, + MockMonitor(std::string const & channelName, MonitorRequester::shared_pointer const & monitorRequester, PVStructure::shared_pointer const & pvStructure, PVStructure::shared_pointer const & pvRequest) : m_channelName(channelName), m_monitorRequester(monitorRequester), m_pvStructure(getRequestedStructure(pvStructure, pvRequest)), @@ -2055,7 +2040,7 @@ protected: } public: - static Monitor::shared_pointer create(String const & channelName, + static Monitor::shared_pointer create(std::string const & channelName, MonitorRequester::shared_pointer const & monitorRequester, PVStructure::shared_pointer const & pvStructure, PVStructure::shared_pointer const & pvRequest) { @@ -2207,8 +2192,8 @@ class MockChannel : private: ChannelProvider::weak_pointer m_provider; ChannelRequester::shared_pointer m_requester; - String m_name; - String m_remoteAddress; + string m_name; + string m_remoteAddress; public: // TODO PVStructure::shared_pointer m_pvStructure; @@ -2217,8 +2202,8 @@ protected: MockChannel( ChannelProvider::shared_pointer provider, ChannelRequester::shared_pointer requester, - String name, - String remoteAddress) : + string name, + string remoteAddress) : m_provider(provider), m_requester(requester), m_name(name), @@ -2236,10 +2221,10 @@ protected: if (m_name.find("testArray") == 0) { - String allProperties(""); - // String allProperties("alarm,timeStamp,display,control"); + string allProperties(""); + // string allProperties("alarm,timeStamp,display,control"); m_pvStructure = getStandardPVField()->scalarArray(pvDouble,allProperties); - PVDoubleArrayPtr pvField = static_pointer_cast(m_pvStructure->getScalarArrayField(String("value"), pvDouble)); + PVDoubleArrayPtr pvField = static_pointer_cast(m_pvStructure->getScalarArrayField(std::string("value"), pvDouble)); int specCount = 0; char postfix[64]; int done = sscanf(m_name.c_str(), "testArray%d%s", &specCount, postfix); @@ -2271,7 +2256,7 @@ protected: } /* printf("array prepared------------------------------------!!!\n"); - String str; + string str; pvField->toString(&str); printf("%s\n", str.c_str()); printf("=============------------------------------------!!!\n"); @@ -2348,12 +2333,12 @@ protected: } else if (m_name.find("testValueOnly") == 0) { - String allProperties(""); + string allProperties(""); m_pvStructure = getStandardPVField()->scalar(pvDouble,allProperties); } else if (m_name == "testCounter" || m_name == "testSimpleCounter") { - String allProperties("timeStamp"); + string allProperties("timeStamp"); m_pvStructure = getStandardPVField()->scalar(pvInt,allProperties); } else if (m_name == "testEnum") @@ -2367,14 +2352,14 @@ protected: choices.push_back("fiveValue"); choices.push_back("sixValue"); choices.push_back("sevenValue"); - String allProperties("timeStamp"); + string allProperties("timeStamp"); m_pvStructure = getStandardPVField()->enumerated(choices,allProperties); } else { - String allProperties("alarm,timeStamp,display,control,valueAlarm"); + string allProperties("alarm,timeStamp,display,control,valueAlarm"); m_pvStructure = getStandardPVField()->scalar(pvDouble,allProperties); - //PVDoublePtr pvField = m_pvStructure->getDoubleField(String("value")); + //PVDoublePtr pvField = m_pvStructure->getDoubleField(std::string("value")); //pvField->put(1.123); } @@ -2387,8 +2372,8 @@ public: static Channel::shared_pointer create( ChannelProvider::shared_pointer provider, ChannelRequester::shared_pointer requester, - String name, - String remoteAddress) + string name, + string remoteAddress) { Channel::shared_pointer channelPtr(new MockChannel(provider, requester, name, remoteAddress)); @@ -2407,12 +2392,12 @@ public: { }; - virtual String getRequesterName() + virtual string getRequesterName() { return getChannelName(); }; - virtual void message(String const & message,MessageType messageType) + virtual void message(std::string const & message,MessageType messageType) { std::cout << "[" << getRequesterName() << "] message(" << message << ", " << getMessageTypeName(messageType) << ")" << std::endl; } @@ -2422,12 +2407,12 @@ public: return m_provider.lock(); } - virtual epics::pvData::String getRemoteAddress() + virtual std::string getRemoteAddress() { return m_remoteAddress; } - virtual epics::pvData::String getChannelName() + virtual std::string getChannelName() { return m_name; } @@ -2452,7 +2437,7 @@ public: return readWrite; } - virtual void getField(GetFieldRequester::shared_pointer const & requester,epics::pvData::String const & subField) + virtual void getField(GetFieldRequester::shared_pointer const & requester,std::string const & subField) { PVFieldPtr pvField; if(subField == "") @@ -2525,23 +2510,19 @@ public: } virtual void printInfo() { - String info; - printInfo(&info); - std::cout << info.c_str() << std::endl; + printInfo(std::cout); } - virtual void printInfo(epics::pvData::StringBuilder out) { - //std::ostringstream ostr; - //static String emptyString; - - out->append( "CHANNEL : "); out->append(m_name); - out->append("\nSTATE : "); out->append(ConnectionStateNames[getConnectionState()]); - if (isConnected()) + virtual void printInfo(std::ostream& out) { + out << "CHANNEL : " << getChannelName() << std::endl; + + ConnectionState state = getConnectionState(); + out << "STATE : " << ConnectionStateNames[state] << std::endl; + if (state == CONNECTED) { - out->append("\nADDRESS : "); out->append(getRemoteAddress()); - //out->append("\nRIGHTS : "); out->append(getAccessRights()); + out << "ADDRESS : " << getRemoteAddress() << std::endl; + //out << "RIGHTS : " << getAccessRights() << std::endl; } - out->append("\n"); } }; @@ -2587,7 +2568,7 @@ public: typedef std::tr1::shared_ptr shared_pointer; typedef std::tr1::shared_ptr const_shared_pointer; - static String PROVIDER_NAME; + static string PROVIDER_NAME; MockServerChannelProvider() : m_mockChannelFind(), @@ -2660,7 +2641,7 @@ public: m_imgThread.reset(new epics::pvData::Thread("imgThread", highPriority, &m_imgAction)); } - virtual epics::pvData::String getProviderName() + virtual std::string getProviderName() { return PROVIDER_NAME; } @@ -2670,7 +2651,7 @@ public: } virtual ChannelFind::shared_pointer channelFind( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelFindRequester::shared_pointer const & channelFindRequester) { // channel that starts with "test" always exists @@ -2690,7 +2671,7 @@ public: { Lock guard(structureStoreMutex); channelNames.reserve(structureStore.size()); - for (map::const_iterator iter = structureStore.begin(); + for (map::const_iterator iter = structureStore.begin(); iter != structureStore.end(); iter++) channelNames.push_back(iter->first); @@ -2700,7 +2681,7 @@ public: } virtual Channel::shared_pointer createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short priority) { @@ -2708,10 +2689,10 @@ public: } virtual Channel::shared_pointer createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short /*priority*/, - epics::pvData::String const & address) + std::string const & address) { if (address == "local") { @@ -2766,14 +2747,14 @@ private: auto_ptr m_imgThread; }; -String MockServerChannelProvider::PROVIDER_NAME = "local"; +string MockServerChannelProvider::PROVIDER_NAME = "local"; class MockChannelProviderFactory : public ChannelProviderFactory { public: POINTER_DEFINITIONS(MockChannelProviderFactory); - virtual epics::pvData::String getFactoryName() + virtual std::string getFactoryName() { return MockServerChannelProvider::PROVIDER_NAME; } diff --git a/testApp/remote/testServerContext.cpp b/testApp/remote/testServerContext.cpp index a8f25d1..aeb3187 100644 --- a/testApp/remote/testServerContext.cpp +++ b/testApp/remote/testServerContext.cpp @@ -13,10 +13,10 @@ class TestChannelProvider : public ChannelProvider { public: - epics::pvData::String getProviderName() { return "local"; }; + std::string getProviderName() { return "local"; }; - ChannelFind::shared_pointer channelFind(epics::pvData::String const & /*channelName*/, + ChannelFind::shared_pointer channelFind(std::string const & /*channelName*/, ChannelFindRequester::shared_pointer const & channelFindRequester) { ChannelFind::shared_pointer nullCF; @@ -33,7 +33,7 @@ public: } Channel::shared_pointer createChannel( - epics::pvData::String const & channelName, + std::string const & channelName, ChannelRequester::shared_pointer const & channelRequester, short priority = PRIORITY_DEFAULT) { @@ -41,9 +41,9 @@ public: } Channel::shared_pointer createChannel( - epics::pvData::String const & /*channelName*/, + std::string const & /*channelName*/, ChannelRequester::shared_pointer const & channelRequester, - short /*priority*/, epics::pvData::String const & /*address*/) + short /*priority*/, std::string const & /*address*/) { Channel::shared_pointer nullC; channelRequester->channelCreated(Status::Ok, nullC); @@ -61,7 +61,7 @@ public: virtual ~TestChannelProviderRegistry() {}; - ChannelProvider::shared_pointer getProvider(epics::pvData::String const & providerName) + ChannelProvider::shared_pointer getProvider(std::string const & providerName) { if (providerName == "local") { @@ -71,7 +71,7 @@ public: return ChannelProvider::shared_pointer(); } - ChannelProvider::shared_pointer createProvider(epics::pvData::String const & providerName) + ChannelProvider::shared_pointer createProvider(std::string const & providerName) { return getProvider(providerName); }