fix messageType name

This commit is contained in:
Marty Kraimer
2012-05-10 06:28:27 -04:00
parent 7a60e02d5c
commit d320f00e96
4 changed files with 19 additions and 14 deletions

View File

@@ -47,7 +47,7 @@ void PVField::message(String fieldName,String message,MessageType messageType)
requester->message(mess,messageType);
} else {
printf("%s %s %s\n",
messageTypeName[messageType].c_str(),
getMessageTypeName(messageType).c_str(),
fieldName.c_str(),
message.c_str());
}
@@ -148,7 +148,6 @@ void PVField::renameField(String newName)
}
std::tr1::shared_ptr<Structure> parentStructure = const_pointer_cast<Structure>(
parent->getStructure());
StringArray const &fieldNames = parentStructure->getFieldNames();
FieldConstPtrArray const &fields = parentStructure->getFields();
for(size_t i=0; i<fields.size(); i++) {
if(fields[i].get()==field.get()) {

View File

@@ -5,18 +5,27 @@
* in file LICENSE that is included with this distribution.
*/
#include <string>
#include <cstdio>
#include <pv/lock.h>
#include <pv/requester.h>
namespace epics { namespace pvData {
const size_t messageTypeCount = 4;
static StringArray messageTypeName(messageTypeCount);
StringArray messageTypeName(messageTypeCount);
void Requester::init()
String getMessageTypeName(MessageType messageType)
{
messageTypeName[0] = "info";
messageTypeName[1] = "warning";
messageTypeName[2] = "error";
messageTypeName[3] = "fatalError";
static Mutex mutex;
Lock xx(mutex);
if(messageTypeName[0].size()==0) {
messageTypeName[0] = "info";
messageTypeName[1] = "warning";
messageTypeName[2] = "error";
messageTypeName[3] = "fatalError";
}
return messageTypeName[messageType];
}
}}

View File

@@ -18,17 +18,14 @@ enum MessageType {
infoMessage,warningMessage,errorMessage,fatalErrorMessage
};
extern StringArray messageTypeName;
extern String getMessageTypeName(MessageType messageType);
extern const size_t messageTypeCount;
class Requester {
public:
POINTER_DEFINITIONS(Requester);
virtual ~Requester(){}
virtual String getRequesterName() = 0;
virtual void message(String message,MessageType messageType) = 0;
private:
static void init();
};
}}

View File

@@ -58,7 +58,7 @@ static void testBasic(FILE * fd,FILE *auxfd ) {
assert(messageNode.get()!=0);
fprintf(fd,"message %s messageType %s\n",
messageNode->getMessage().c_str(),
messageTypeName[messageNode->getMessageType()].c_str());
getMessageTypeName(messageNode->getMessageType()).c_str());
assert(messageNode->getMessage().compare(messages[0])==0);
queue->release();
messageNode = queue->get();
@@ -69,7 +69,7 @@ static void testBasic(FILE * fd,FILE *auxfd ) {
assert(messageNode.get()!=0);
fprintf(fd,"message %s messageType %s\n",
messageNode->getMessage().c_str(),
messageTypeName[messageNode->getMessageType()].c_str());
getMessageTypeName(messageNode->getMessageType()).c_str());
assert(messageNode->getMessage().compare(messages[3])==0);
queue->release();
result = queue->isEmpty();