Author: svnlook: warning: cannot set LC_CTYPE locale
Date: svnlook: warning: environment variable LANG is EN
New Revision: 220
Modified:
daemon/branches/CPPDaemon/TCP.cpp
daemon/branches/CPPDaemon/TCP.h
Log:
srikantap
2007-04-03 17:10:05 +0200 (Tue, 03 Apr 2007)
38
CommManager changes.
sending ack test.
svnlook: warning: cannot set LC_CTYPE locale
svnlook: warning: environment variable LANG is EN
svnlook: warning: please check that your locale name is correct
Modified: daemon/branches/CPPDaemon/TCP.cpp
===================================================================
--- daemon/branches/CPPDaemon/TCP.cpp 2007-04-02 18:23:39 UTC (rev 219)
+++ daemon/branches/CPPDaemon/TCP.cpp 2007-04-03 15:10:05 UTC (rev 220)
@@ -30,6 +30,10 @@
{
::memcpy(&_msg[4], data, 12);
}
+void Message::setMessageData(char* data, int size)
+{
+ ::memcpy(&_msg[4], data, size);
+}
Message::MESSAGE_DEST Message::getDestination()
{
@@ -262,13 +266,14 @@
}
else
{
+ //TODO: FIXME
Message msg (str.c_str());
Message::MESSAGE_DEST dest = msg.getDestination();
if (Message::MESSAGE_DEST_SUB_DAEMON == dest
|| Message::MESSAGE_DEST_CLIENT == dest)
{
- handleMessage(msg);
+ handleMessage(clients[i], msg);
}
else
{
@@ -281,7 +286,7 @@
}
-void CommManager::handleMessage(Message& msg)
+void CommManager::handleMessage(Client& client, Message& msg)
{
printf("CommManager:: Handling msg\n");
@@ -295,6 +300,30 @@
{
printf("CommManager: REQUEST\n");
}
+
+ //TODO: FIXME
+ char *temp = msg.getMessage();
+ Message ack(temp);
+ sendAck(client, msg);
}
+
+void CommManager::sendAck(Client& client, Message& msg)
+{
+ /*FIXME: JUST FOR SAKE OF TESTING!
+ * REMOVE THIS AFTER TESTING
+ * NEED TO USE MSG CLASS IN BETTER WAY
+ **/
+ msg.setDataType(0x05);
+ char ackByte = 0x01;
+ msg.setMessageData(&ackByte, 1);
+
+ //TODO: FIXME
+ char *temp = msg.getMessage();
+ string message(temp);
+ client.send(message);
+ printf("********************* Sending to client ****************\n");
+ msg.dump();
+ printf("********************************************************\n");
+}
/***************************************************************/
Modified: daemon/branches/CPPDaemon/TCP.h
===================================================================
--- daemon/branches/CPPDaemon/TCP.h 2007-04-02 18:23:39 UTC (rev 219)
+++ daemon/branches/CPPDaemon/TCP.h 2007-04-03 15:10:05 UTC (rev 220)
@@ -9,6 +9,16 @@
static const int CLIENT_NAME_SIZE = 256;
static const int MESSAGE_SIZE = 16;
+/**
+ * Message Class:
+ * FIXME: THIS CLASS IS A UGLY, UGLY HACK
+ * FIXME: CLEAN THIS CLASS.
+ * FIXME: THIS CLASS WILL BE USED ALL THRU THE SYSTEM, SO
+ * CREATE SOME GENERIC INTERFACES, CLEANUP, DO SOMETHING!!
+ * FIXME: NEED TO CREATE CLEAN INTERFACES
+ * FIXME: NEED TO RESOLVE THE RELATIONSHIP B/W THIS CLASS, STRING
+ * AND CHAR.
+ **/
class Message
{
public:
@@ -32,6 +42,7 @@
void setDataType(char dataType);
void setSubDataType(char subDataType);
void setMessageData(char* data);
+ void setMessageData(char* data, int size);
MESSAGE_DEST getDestination();
@@ -77,7 +88,8 @@
bool addClient(Client* newClient);
bool processMessages();
bool stayAlive() { return (sockId.is_valid()); };
- void handleMessage(Message& msg);
+ void handleMessage(Client& client, Message& msg);
+ void sendAck(Client& client, Message& msg);
Client *clients;
|