diff options
author | maratsabitov <marat.sabitov@mera.com> | 2020-05-08 18:03:57 +0300 |
---|---|---|
committer | Marat Sabitov <marat.sabitov@mera.com> | 2020-07-09 09:38:01 +0300 |
commit | 0cecffd4565b52bd8d200f6bc9f4144f244a6515 (patch) | |
tree | c0969bb192bb711c0bd2e2444a66c0060b2e13af /src/utils.h | |
parent | f496bfe75ef0a1ec2658d3fec51866d4c7551282 (diff) |
Introduce cloudproxy servicejellyfish_9.99.4jellyfish_9.99.3jellyfish_9.99.2jellyfish/9.99.4jellyfish/9.99.3jellyfish/9.99.29.99.49.99.39.99.2
Cloudproxy service allows applications to communicate with clouds.
The commit includes the test applications as sample for real client imlementation.
Bug-AGL: SPEC-3370
Change-Id: I82d8122e93d01451f4471cc20c706e75c16f1c29
Signed-off-by: maratsabitov <marat.sabitov@mera.com>
Diffstat (limited to 'src/utils.h')
-rwxr-xr-x | src/utils.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/utils.h b/src/utils.h new file mode 100755 index 0000000..9069c4a --- /dev/null +++ b/src/utils.h @@ -0,0 +1,54 @@ +/*
+ * Copyright (C) 2020 MERA
+ *
+ * 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 <functional>
+#include <string>
+
+#include <afb/afb-binding.h>
+
+namespace utils
+{
+ class scope_exit
+ {
+ public:
+ explicit scope_exit(std::function<void()> func)
+ : m_f(func)
+ {}
+ ~scope_exit()
+ {
+ if (!!m_f)
+ m_f();
+ }
+
+ private:
+ std::function<void()> m_f;
+ };
+
+ std::string get_application_id(const afb_req_t request)
+ {
+ char *app_id = afb_req_get_application_id(request);
+ std::string appid;
+ if(app_id)
+ {
+ appid = std::string(app_id);
+ free(app_id);
+ }
+
+ return appid;
+ }
+}
|