diff options
Diffstat (limited to 'sl4n/utils')
-rw-r--r-- | sl4n/utils/command_receiver.cpp | 69 | ||||
-rw-r--r-- | sl4n/utils/command_receiver.h | 41 | ||||
-rw-r--r-- | sl4n/utils/common_utils.cpp | 33 | ||||
-rw-r--r-- | sl4n/utils/common_utils.h | 28 |
4 files changed, 0 insertions, 171 deletions
diff --git a/sl4n/utils/command_receiver.cpp b/sl4n/utils/command_receiver.cpp deleted file mode 100644 index 17b2da4..0000000 --- a/sl4n/utils/command_receiver.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// -// Copyright (C) 2016 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#include <rapidjson/document.h> -#include <rapidjson/writer.h> -#include <rapidjson/stringbuffer.h> -#include <map> -#include <string> -#include <tuple> - -#include <base.h> -#include <utils/command_receiver.h> -#include <utils/common_utils.h> - -typedef std::map<std::string, MFP> function_map; -function_map* _funcMap = NULL; - -void _clean_result(rapidjson::Document &doc) { - doc.RemoveMember(sl4n::kMethodStr); - doc.RemoveMember(sl4n::kParamsStr); -} - -void initiate(rapidjson::Document &doc) { - doc.AddMember(sl4n::kStatusStr, sl4n::kSuccessStr, doc.GetAllocator()); -} - -CommandReceiver::CommandReceiver() { - if (_funcMap == NULL) { - _funcMap = new function_map(); - } - _funcMap->insert(std::make_pair("initiate", &initiate)); - _funcMap->insert(std::make_pair("continue", &initiate)); -} - -void CommandReceiver::Call(rapidjson::Document& doc) { - std::string cmd; - if (doc.HasMember(sl4n::kCmdStr)) { - cmd = doc[sl4n::kCmdStr].GetString(); - } else if (doc.HasMember(sl4n::kMethodStr)) { - cmd = doc[sl4n::kMethodStr].GetString(); - } - - function_map::const_iterator iter = _funcMap->find(cmd); - if (iter != _funcMap->end()) { - iter->second(doc); - } - _clean_result(doc); -} - -void CommandReceiver::RegisterCommand(std::string name, MFP command) { - if (_funcMap == NULL) { - _funcMap = new function_map(); - } - - _funcMap->insert(std::make_pair(name, command)); -} diff --git a/sl4n/utils/command_receiver.h b/sl4n/utils/command_receiver.h deleted file mode 100644 index c2af543..0000000 --- a/sl4n/utils/command_receiver.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// Copyright (C) 2015 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#pragma once - -#include <rapidjson/document.h> - -typedef void (*MFP)(rapidjson::Document&); - -// This class defines the functions that interact with the input JSON and -// correspondingly calls the facade associated with the input JSON doc. This -// class also contains wrapper functions to the actual SL4N Facades and does -// pre-verification before it directly interacts with the facade. The -// pre-verification includes matching parameter size and verifying each -// parameter type that is expected in the wrapping function. -class CommandReceiver { - - public: - CommandReceiver(); - ~CommandReceiver(); - - static void RegisterCommand(std::string name, MFP command); - - // Function that extracts the method/cmd parameter from the JSON doc and - // passes the document to the corresponding wrapper function. - void Call(rapidjson::Document& doc); - -}; diff --git a/sl4n/utils/common_utils.cpp b/sl4n/utils/common_utils.cpp deleted file mode 100644 index 30b3258..0000000 --- a/sl4n/utils/common_utils.cpp +++ /dev/null @@ -1,33 +0,0 @@ -// -// Copyright (C) 2015 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#include "base.h" -#include <base/logging.h> -#include "common_utils.h" -#include <rapidjson/document.h> - -bool CommonUtils::IsParamLengthMatching(rapidjson::Document& doc, - int expected_param_size) { - - if ((int)doc[sl4n::kParamsStr].Size() != expected_param_size) { - LOG(ERROR) << sl4n::kTagStr << ": Invalid parameter length - found: " - << doc[sl4n::kParamsStr].Size(); - doc.AddMember(sl4n::kResultStr, false, doc.GetAllocator()); - doc.AddMember(sl4n::kErrorStr, sl4n::kInvalidParamStr, doc.GetAllocator()); - return false; - } - return true; -} diff --git a/sl4n/utils/common_utils.h b/sl4n/utils/common_utils.h deleted file mode 100644 index 8b6285f..0000000 --- a/sl4n/utils/common_utils.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// Copyright (C) 2015 Google, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#pragma once - -#include <rapidjson/document.h> - -// This class defines common utils to be used by SL4N. -class CommonUtils { - public: - - // Returns true if parameters from JSON matches the expected parameter size. - static bool IsParamLengthMatching(rapidjson::Document& doc, - int expected_param_size); -}; |