Commit 8142868b authored by Christopher Reis's avatar Christopher Reis

Updated Void to Kafka in template

parent 965fcf44
# Copyright 2007-2016 United States Government as represented by the
# Administrator of The National Aeronautics and Space Administration.
# No copyright is claimed in the United States under Title 17, U.S. Code.
......@@ -16,7 +16,7 @@ GMSEC_HOME = ../..
include $(GMSEC_HOME)/config/$(GMSEC_PLATFORM)
LIBROOTNAME = gmsec_void
LIBROOTNAME = gmsec_kafka
TARGET = lib$(LIBROOTNAME).$(SHLIB_EXT)
......@@ -37,9 +37,9 @@ LIBS =
SRCDIR = src
OBJECTS = \
$(OBJDIR)/gmsec_void.o \
$(OBJDIR)/VoidConnection.o \
$(OBJDIR)/VoidMessage.o
$(OBJDIR)/gmsec_Kafka.o \
$(OBJDIR)/KafkaConnection.o \
$(OBJDIR)/KafkaMessage.o
# default: clean library
......@@ -56,4 +56,3 @@ $(BINDIR)/$(TARGET): $(OBJECTS)
$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
$(CXX) -c $(CXXFLAGS) $< -o $@
......@@ -12,25 +12,25 @@
/* @file VoidConnection.h
/* @file KafkaConnection.h
* This file provides a template for implementing a middleware wrapper.
*/
#ifndef _VoidConnection_h_
#define _VoidConnection_h_
#ifndef _KafkaConnection_h_
#define _KafkaConnection_h_
#include <gmsec_void.h>
#include <gmsec_kafka.h>
#include <gmsec/internal/BaseConnection.h>
#include <VoidMessage.h>
#include <KafkaMessage.h>
/** @class VoidConnection
* This class provides a sample (dummy) implementation of the
* BaseConnection abstract class.
*/
class GMSEC_VOID_API VoidConnection
class GMSEC_KAFKA_API KafkaConnection
: public gmsec::internal::BaseConnection
{
private:
......@@ -40,8 +40,8 @@ public:
/** @fn VoidConnection(gmsec::Config *cfg)
* Standard constructor that requires a config
*/
VoidConnection(gmsec::Config *cfg);
virtual ~VoidConnection();
KafkaConnection(gmsec::Config *cfg);
virtual ~KafkaConnection();
/** @fn CloneMessage( gmsec::Message *in, gmsec::Message *&out )
* This function copies a message without knowing what type it is
......@@ -58,7 +58,7 @@ public:
*/
virtual const char * CALL_TYPE GetLibraryRootName()
{
return "gmsec_void";
return "gmsec_kafka";
}
/** @fn mwConnect()
......@@ -87,7 +87,7 @@ public:
virtual gmsec::Status CALL_TYPE mwCreateMessage(const char *subject, GMSEC_MSG_KIND msgKind, gmsec::Message *&msg);
/** @fn DestroyMessage(gmsec::Message *msg)
* destroy an void message
* destroy a kafka message
*/
virtual gmsec::Status CALL_TYPE DestroyMessage(gmsec::Message *msg);
......
......@@ -12,34 +12,34 @@
/* @file VoidMessage.h
/* @file KafkaMessage.h
* This file provides a template for implementing a middleware wrapper.
*/
#ifndef _VoidMessage_h_
#define _VoidMessage_h_
#ifndef _KafkaMessage_h_
#define _KafkaMessage_h_
#include <gmsec_void.h>
#include <gmsec_kafka.h>
#include <gmsec/internal/SimpleMessage.h>
/** @class VoidMessage
/** @class KafkaMessage
* This class implements the Message abstract base class to support
* Void middleware.
* Kafka middleware.
*/
class GMSEC_VOID_API VoidMessage
class GMSEC_KAFKA_API KafkaMessage
: public gmsec::internal::SimpleMessage
{
public:
/** @fn VoidMessage(subject, type)
* Standard constructor that takes a void message pointer
/** @fn KafkaMessage(subject, type)
* Standard constructor that takes a kafka message pointer
*/
VoidMessage();
virtual ~VoidMessage();
KafkaMessage();
virtual ~KafkaMessage();
/** @fn getCMessagePtr()
* Access to the unlying void native message pointer.
* Access to the unlying kafka native message pointer.
*/
// CMessage * CALL_TYPE getCMessagePtr() { return NULL; }
......@@ -48,7 +48,7 @@ public:
*/
virtual const char * CALL_TYPE GetLibraryRootName()
{
return "gmsec_void";
return "gmsec_kafka";
}
#ifdef SUBCLASS_BASEMESSAGE
......@@ -131,4 +131,4 @@ public:
};
#endif // VoidMessage_h
#endif // KafkaMessage_h
......@@ -12,24 +12,24 @@
/* @file gmsec_void.h
/* @file gmsec_kafka.h
* This file provides a template for implementing a middleware wrapper.
*/
#ifndef _gmsec_void_h_
#define _gmsec_void_h_
#ifndef _gmsec_kafka_h_
#define _gmsec_kafka_h_
#ifdef WIN32
#ifdef GMSEC_VOID_EXPORTS
#define GMSEC_VOID_API __declspec(dllexport)
#ifdef GMSEC_KAFKA_EXPORTS
#define GMSEC_KAFKA_API __declspec(dllexport)
#else
#define GMSEC_VOID_API __declspec(dllimport)
#define GMSEC_KAFKA_API __declspec(dllimport)
#endif
/* disable invalid STL waring for windows targets */
#pragma warning ( disable : 4251 )
#pragma warning ( disable : 4786 )
#else // All other platforms make this macro invisible
#define GMSEC_VOID_API
#define GMSEC_KAFKA_API
#endif
#include <gmsec_cpp.h>
......@@ -45,7 +45,7 @@ extern "C"
*
* @sa ConnectionFactory::Create(Config *cfg, Connection *&conn)
*/
GMSEC_VOID_API gmsec::Status
GMSEC_KAFKA_API gmsec::Status
*CreateConnection(gmsec::Config *cfg, gmsec::Connection **conn);
/** @fn DestroyConnection(Connection *conn)
......@@ -54,7 +54,7 @@ GMSEC_VOID_API gmsec::Status
*
* @sa ConnectionFactory::Destroy(Connection *conn)
*/
GMSEC_VOID_API void
GMSEC_KAFKA_API void
DestroyConnection(gmsec::Connection *conn);
#ifdef __cplusplus
......@@ -62,4 +62,3 @@ DestroyConnection(gmsec::Connection *conn);
#endif
#endif /* gmsec_void_h */
......@@ -12,11 +12,11 @@
/* @file VoidConnection.cpp
/* @file KafkaConnection.cpp
* This file provides a template for implementing a middleware wrapper.
*/
#include <VoidConnection.h>
#include <KafkaConnection.h>
#include <gmsec/internal/rawbuf.h>
......@@ -27,7 +27,7 @@ using namespace gmsec::util;
using namespace std;
VoidConnection::VoidConnection(Config *cfg)
KafkaConnection::KafkaConnection(Config *cfg)
:
BaseConnection(cfg)
{
......@@ -37,7 +37,7 @@ VoidConnection::VoidConnection(Config *cfg)
rawbuf buffer(raw, sizeof(raw));
ostream os(&buffer);
os << "VoidConnection::VoidConnection:";
os << "KafkaConnection::KafkaConnection:";
if (NULL != cfg)
{
......@@ -56,69 +56,69 @@ VoidConnection::VoidConnection(Config *cfg)
}
VoidConnection::~VoidConnection()
KafkaConnection::~KafkaConnection()
{
LOG_DEBUG << "gmsec_void:VoidConnection::~VoidConnection()";
LOG_DEBUG << "gmsec_kafka:KafkaConnection::~KafkaConnection()";
}
const char *VoidConnection::GetLibraryVersion()
const char *KafkaConnection::GetLibraryVersion()
{
return "v0.2.1";
}
Status VoidConnection::mwConnect()
Status KafkaConnection::mwConnect()
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::mwConnect()";
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwConnect()";
return result;
}
Status VoidConnection::mwDisconnect()
Status KafkaConnection::mwDisconnect()
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::mwDisconnect()";
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwDisconnect()";
return result;
}
Status VoidConnection::mwSubscribe(const char *subject, const gmsec::Config &config)
Status KafkaConnection::mwSubscribe(const char *subject, const gmsec::Config &config)
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::mwSubscribe(" << subject << ')';
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwSubscribe(" << subject << ')';
return result;
}
Status VoidConnection::mwUnSubscribe(const char *subject)
Status KafkaConnection::mwUnSubscribe(const char *subject)
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::mwUnSubscribe(" << subject << ')';
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwUnSubscribe(" << subject << ')';
return result;
}
Status VoidConnection::mwCreateMessage(const char *subject,
Status KafkaConnection::mwCreateMessage(const char *subject,
GMSEC_MSG_KIND kind, Message *&msg)
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::mwCreateMessage("
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwCreateMessage("
<< (subject ? subject : "[null]")
<< ", kind=" << kind << ", msg=" << msg << ')';
{
VoidMessage * tmp = new VoidMessage();
KafkaMessage * tmp = new KafkaMessage();
tmp->SetSubject(subject);
tmp->SetKind(kind);
msg = tmp->createExternal();
......@@ -129,64 +129,64 @@ Status VoidConnection::mwCreateMessage(const char *subject,
result.Set(
GMSEC_STATUS_MESSAGE_ERROR,
GMSEC_INVALID_MESSAGE,
"VoidMessage object not created");
"KafkaMessage object not created");
LOG_WARNING << result.Get();
}
LOG_DEBUG << "gmsec_void:VoidConnection::mwCreateMessage => " << msg;
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwCreateMessage => " << msg;
return result;
}
#if 0
Status VoidConnection::DestroyMessage(Message *msg)
Status KafkaConnection::DestroyMessage(Message *msg)
{
Status result;
LOG_INFO << "gmsec_void:VoidConnection::DestroyMessage(" << msg << ')';
LOG_INFO << "gmsec_kafka:KafkaConnection::DestroyMessage(" << msg << ')';
return result;
}
#endif
Status VoidConnection::mwPublish(Message *msg, const gmsec::Config &config)
Status KafkaConnection::mwPublish(Message *msg, const gmsec::Config &config)
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::Publish(" << msg << ')';
LOG_DEBUG << "gmsec_kafka:KafkaConnection::Publish(" << msg << ')';
return result;
}
Status VoidConnection::mwRequest(Message *request, std::string &id)
Status KafkaConnection::mwRequest(Message *request, std::string &id)
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::mwRequest(" << request << ')';
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwRequest(" << request << ')';
return result;
}
Status VoidConnection::mwReply(Message *request, Message *reply)
Status KafkaConnection::mwReply(Message *request, Message *reply)
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::mwReply(request=" << request
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwReply(request=" << request
<< ", reply=" << reply << ')';
return result;
}
Status VoidConnection::mwGetNextMsg(Message *&msg, GMSEC_I32 timeout)
Status KafkaConnection::mwGetNextMsg(Message *&msg, GMSEC_I32 timeout)
{
Status result;
LOG_DEBUG << "gmsec_void:VoidConnection::mwGetNextMsg(msg=" << msg
LOG_DEBUG << "gmsec_kafka:KafkaConnection::mwGetNextMsg(msg=" << msg
<< ", timeout=" << timeout << ')';
msg = NULL;
......@@ -198,5 +198,4 @@ Status VoidConnection::mwGetNextMsg(Message *&msg, GMSEC_I32 timeout)
}
// EOF VoidConnection.cpp
// EOF KafkaConnection.cpp
......@@ -12,11 +12,11 @@
/* @file VoidMessage.cpp
/* @file KafkaMessage.cpp
* This file provides a template for implementing a middleware wrapper.
*/
#include <VoidMessage.h>
#include <KafkaMessage.h>
#include <gmsec/internal/Log.h>
......@@ -24,51 +24,51 @@
using namespace gmsec;
using namespace gmsec::util;
VoidMessage::VoidMessage()
KafkaMessage::KafkaMessage()
{
LOG_VERBOSE << "VoidMessage::VoidMessage()";
LOG_VERBOSE << "KafkaMessage::KafkaMessage()";
}
VoidMessage::~VoidMessage()
KafkaMessage::~KafkaMessage()
{
LOG_VERBOSE << "VoidMessage::~VoidMessage()";
LOG_VERBOSE << "KafkaMessage::~KafkaMessage()";
}
#ifdef SUBCLASS_BASEMESSAGE
bool VoidMessage::isValid()
bool KafkaMessage::isValid()
{
LOG_VERBOSE << "VoidMessage::isValid()";
LOG_VERBOSE << "KafkaMessage::isValid()";
return (true);
}
Status VoidMessage::SetKind(GMSEC_MSG_KIND kind)
Status KafkaMessage::SetKind(GMSEC_MSG_KIND kind)
{
Status result;
LOG_VERBOSE << "VoidMessage::mwSetKind(" << kind << ')';
LOG_VERBOSE << "KafkaMessage::mwSetKind(" << kind << ')';
mType = (size_t) kind;
switch (kind)
{
case GMSEC_MSG_UNSET:
printf("gmsec_void Not Specified\n");
printf("gmsec_kafka Not Specified\n");
break;
case GMSEC_MSG_PUBLISH:
printf("gmsec_void Proxy - non-blocking\n");
printf("gmsec_kafka Proxy - non-blocking\n");
break;
case GMSEC_MSG_REQUEST:
printf("gmsec_void Send()/Receive() - blocking\n");
printf("gmsec_kafka Send()/Receive() - blocking\n");
break;
case GMSEC_MSG_REPLY:
printf("gmsec_void Reply() - non/un-blocking\n");
printf("gmsec_kafka Reply() - non/un-blocking\n");
break;
default:
printf("gmsec_void Error\n");
printf("gmsec_kafka Error\n");
result.Set(
GMSEC_STATUS_MESSAGE_ERROR,
GMSEC_UNKNOWN_MSG_TYPE,
......@@ -80,11 +80,11 @@ Status VoidMessage::SetKind(GMSEC_MSG_KIND kind)
}
Status VoidMessage::GetKind(GMSEC_MSG_KIND &kind)
Status KafkaMessage::GetKind(GMSEC_MSG_KIND &kind)
{
Status result;
LOG_DEBUG << "VoidMessage::GetKind(" << &kind << ')';
LOG_DEBUG << "KafkaMessage::GetKind(" << &kind << ')';
kind = mType;
......@@ -92,22 +92,22 @@ Status VoidMessage::GetKind(GMSEC_MSG_KIND &kind)
}
Status VoidMessage::mwSetSubject(const char *subject)
Status KafkaMessage::mwSetSubject(const char *subject)
{
Status result;
LOG_DEBUG << "VoidMessage::mwSetSubject("
LOG_DEBUG << "KafkaMessage::mwSetSubject("
(subject ? subject : "[null]") << ')';
return result;
}
Status VoidMessage::GetSubject(const char *&subject)
Status KafkaMessage::GetSubject(const char *&subject)
{
Status result;
LOG_DEBUG << "VoidConnection::GetSubject(" << &subject << ')';
LOG_DEBUG << "KafkaConnection::GetSubject(" << &subject << ')';
subject = mName;
......@@ -115,9 +115,9 @@ Status VoidMessage::GetSubject(const char *&subject)
}
bool VoidMessage::ProcessConfigValue(const char *name, const char *value)
bool KafkaMessage::ProcessConfigValue(const char *name, const char *value)
{
LOG_DEBUG << "VoidConnection::ProcessConfigValue(name="
LOG_DEBUG << "KafkaConnection::ProcessConfigValue(name="
<< (name ? name : "[null]")
<< ", value=" << (value ? value : "[null]");
......@@ -125,32 +125,32 @@ bool VoidMessage::ProcessConfigValue(const char *name, const char *value)
}
Status VoidMessage::ClearFields()
Status KafkaMessage::ClearFields()
{
Status result;
LOG_DEBUG << "VoidConnection::ClearFields()";
LOG_DEBUG << "KafkaConnection::ClearFields()";
return result;
}
Status VoidMessage::ClearField(const char *name)
Status KafkaMessage::ClearField(const char *name)
{
Status result;
LOG_DEBUG << "VoidConnection::ClearField(name="
LOG_DEBUG << "KafkaConnection::ClearField(name="
<< (name ? name : "[null]") << ')';
return result;
}
Status VoidMessage::GetField(const char *name, Field &field)
Status KafkaMessage::GetField(const char *name, Field &field)
{
Status result;
LOG_DEBUG << "VoidConnection::GetField(name="
LOG_DEBUG << "KafkaConnection::GetField(name="
<< (name ? name : "[null]")
<< ", field=" << &field << ')';
......@@ -158,31 +158,31 @@ Status VoidMessage::GetField(const char *name, Field &field)
}
Status VoidMessage::GetFieldCount(GMSEC_I32 &count)
Status KafkaMessage::GetFieldCount(GMSEC_I32 &count)
{
Status result;
LOG_DEBUG << "VoidConnection::GetFieldCount(@count=" << &count << ')';
LOG_DEBUG << "KafkaConnection::GetFieldCount(@count=" << &count << ')';
return result;
}
Status VoidMessage::GetFirstField(Field &field)
Status KafkaMessage::GetFirstField(Field &field)
{
Status result;
LOG_DEBUG << "VoidConnection::GetFirstField(@field=" << &field << ')';
LOG_DEBUG << "KafkaConnection::GetFirstField(@field=" << &field << ')';
return result;
}
Status VoidMessage::GetNextField(Field &field)
Status KafkaMessage::GetNextField(Field &field)
{
Status result;
LOG_DEBUG << "VoidConnection::GetNextField(@field=" << &field << ')';
LOG_DEBUG << "KafkaConnection::GetNextField(@field=" << &field << ')';
result.Set(GMSEC_STATUS_MESSAGE_ERROR,
GMSEC_FIELDS_END_REACHED,
"Nominal end-of-fields");
......@@ -191,11 +191,11 @@ Status VoidMessage::GetNextField(Field &field)
}
Status VoidMessage::GetMSGSize(unsigned long &size)
Status KafkaMessage::GetMSGSize(unsigned long &size)
{
Status result;
LOG_DEBUG << "VoidConnection::GetMSGSize(@size=" << &size << ')';
LOG_DEBUG << "KafkaConnection::GetMSGSize(@size=" << &size << ')';
return result;
}
......@@ -203,5 +203,4 @@ Status VoidMessage::GetMSGSize(unsigned long &size)
#endif /* SUBCLASS_BASEMESSAGE */
// EOF VoidMessage.cpp
// EOF KafkaMessage.cpp
......@@ -12,33 +12,33 @@
/* @file gmsec_void.h
/* @file gmsec_kafka.h
* This file provides a template for implementing a middleware wrapper.
*/
#include <gmsec_void.h>
#include <gmsec_kafka.h>
#include <gmsec/internal/Log.h>
#include <gmsec/internal/StatusException.h>
#include <VoidConnection.h>
#include <KafkaConnection.h>
using namespace gmsec;
using namespace gmsec::util;
GMSEC_VOID_API Status *CreateConnection(Config *cfg, Connection **conn)
GMSEC_KAFKA_API Status *CreateConnection(Config *cfg, Connection **conn)
{
static Status result;
result.ReSet();
LOG_DEBUG << "gmsec_void:CreateConnection(" << cfg << ", " << conn << ")";
LOG_DEBUG << "gmsec_kafka:CreateConnection(" << cfg << ", " << conn << ")";
try
{
VoidConnection * tmp = new VoidConnection(cfg);
KafkaConnection * tmp = new KafkaConnection(cfg);
*conn = tmp->createExternal();
}
catch (gmsec::internal::StatusException &se)
......@@ -46,20 +46,19 @@ GMSEC_VOID_API Status *CreateConnection(Config *cfg, Connection **conn)
result = se;
}
LOG_DEBUG << "gmsec_void: *conn=" << *conn;
LOG_DEBUG << "gmsec_kafka: *conn=" << *conn;
return &result;
}
GMSEC_VOID_API void DestroyConnection(Connection *conn)
GMSEC_KAFKA_API void DestroyConnection(Connection *conn)
{
LOG_DEBUG << "gmsec_void:DestroyConnection(" << conn << ')';
LOG_DEBUG << "gmsec_kafka:DestroyConnection(" << conn << ')';
if (conn)
gmsec::internal::ConnectionBuddy::destroy(conn);
}
// EOF gmsec_void.cpp
// EOF gmsec_kafka.cpp
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment