aboutsummaryrefslogtreecommitdiffstats
path: root/remote-processor
diff options
context:
space:
mode:
Diffstat (limited to 'remote-processor')
-rw-r--r--remote-processor/RemoteCommand.h1
-rw-r--r--remote-processor/RequestMessage.cpp27
-rw-r--r--remote-processor/RequestMessage.h1
3 files changed, 29 insertions, 0 deletions
diff --git a/remote-processor/RemoteCommand.h b/remote-processor/RemoteCommand.h
index 8409468..e55d3cb 100644
--- a/remote-processor/RemoteCommand.h
+++ b/remote-processor/RemoteCommand.h
@@ -43,4 +43,5 @@ public:
virtual void addArgument(const std::string& strArgument) = 0;
virtual uint32_t getArgumentCount() const = 0;
virtual const std::string& getArgument(uint32_t uiArgument) const = 0;
+ virtual const std::string packArguments(uint32_t uiStartArgument, uint32_t uiNbArguments) const = 0;
};
diff --git a/remote-processor/RequestMessage.cpp b/remote-processor/RequestMessage.cpp
index 6f71b8a..8c6c2a3 100644
--- a/remote-processor/RequestMessage.cpp
+++ b/remote-processor/RequestMessage.cpp
@@ -73,6 +73,33 @@ const string& CRequestMessage::getArgument(uint32_t uiArgument) const
return _argumentVector[uiArgument];
}
+const string CRequestMessage::packArguments(uint32_t uiStartArgument, uint32_t uiNbArguments) const
+{
+ string strPackedArguments;
+
+ assert(uiStartArgument + uiNbArguments <= _argumentVector.size());
+
+ // Pack arguments, separating them with a space
+ uint32_t uiArgument;
+
+ bool bFirst = true;
+
+ for (uiArgument = uiStartArgument; uiArgument < uiStartArgument + uiNbArguments; uiArgument++) {
+
+ if (!bFirst) {
+
+ strPackedArguments += " ";
+ } else {
+
+ bFirst = false;
+ }
+
+ strPackedArguments += _argumentVector[uiArgument];
+ }
+
+ return strPackedArguments;
+}
+
// Fill data to send
void CRequestMessage::fillDataToSend()
{
diff --git a/remote-processor/RequestMessage.h b/remote-processor/RequestMessage.h
index c0b2183..8428aad 100644
--- a/remote-processor/RequestMessage.h
+++ b/remote-processor/RequestMessage.h
@@ -47,6 +47,7 @@ public:
virtual void addArgument(const string& strArgument);
virtual uint32_t getArgumentCount() const;
virtual const string& getArgument(uint32_t uiArgument) const;
+ virtual const string packArguments(uint32_t uiStartArgument, uint32_t uiNbArguments) const;
private:
// Fill data to send