Revert "License conversion from Flora to Apache 2.0"
[platform/core/uifw/dali-toolkit.git] / optional / dali-toolkit / internal / builder / builder-filesystem.h
1 #ifndef __DALI_TOOLKIT_INTERNAL_BUILDER_FILESYSTEM_H__
2 #define __DALI_TOOLKIT_INTERNAL_BUILDER_FILESYSTEM_H__
3
4 //
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 //
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //     http://floralicense.org/license/
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19
20 // EXTERNAL INCLUDES
21 #include <string>
22 #include <fstream>
23
24 #include <wordexp.h>
25 #include <stdio.h>
26 #include <unistd.h>
27
28 inline std::string ExpandPath(const std::string &name)
29 {
30   wordexp_t p;
31   char** w;
32   wordexp( name.c_str(), &p, 0 );
33   w = p.we_wordv;
34   std::stringstream s;
35   for (size_t i=0; i<p.we_wordc;i++ )
36   {
37     s << w[i];
38   }
39   wordfree( &p );
40   return s.str();
41 }
42
43
44 inline std::string ExePath(void)
45 {
46   char buf[256];
47   readlink("/proc/self/exe", buf, sizeof(buf));
48   return std::string(buf);
49 }
50
51 inline std::string GetFileContents(const std::string &fn)
52 {
53   std::ifstream t(fn.c_str());
54   return std::string((std::istreambuf_iterator<char>(t)), std::istreambuf_iterator<char>());
55 }
56
57 #endif // __DALI_TOOLKIT_INTERNAL_BUILDER_FILESYSTEM_H__