[Systeminfo] Read frequency for emulator from different file.
authorTomasz Marciniak <t.marciniak@samsung.com>
Fri, 26 Jun 2015 07:43:37 +0000 (09:43 +0200)
committerTomasz Marciniak <t.marciniak@samsung.com>
Fri, 26 Jun 2015 07:46:58 +0000 (09:46 +0200)
[Verification] Code compiles without errors.
TCT pass rate:
Emulator: 100% (258/258/0/0/0)
Target: 100% (289/289/0/0/0)

Change-Id: I6fd6f41acbb9bf8bc63a4e58585f61e8a2b0184a
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
packaging/webapi-plugins.spec
src/systeminfo/systeminfo-utils.cpp
src/systeminfo/systeminfo.gyp

index af0d61e1643819f12792a5bc16a5375e0cd90e9c..03a4c5c97fefc240ccece9d29d4d3f990042c8c4 100755 (executable)
@@ -11,6 +11,13 @@ Group:      Development/Libraries
 Summary:    Tizen Web APIs implemented
 Source0:    %{name}-%{version}.tar.gz
 
+%ifarch %{arm}
+# ARM
+%define tizen_is_emulator           0
+%else
+# I586
+%define tizen_is_emulator           1
+%endif
 
 ####################################################################
 #       Mobile Profile :  Redwood(SM-Z910F), KIRAN(Z130H)          #
@@ -461,6 +468,7 @@ GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_o
 GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=x11"
 
 # feature flags
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_is_emulator=%{?tizen_is_emulator}"
 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_account_support=%{?tizen_feature_account_support}"
 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_alarm_support=%{?tizen_feature_alarm_support}"
 GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_application_support=%{?tizen_feature_application_support}"
index a686fed0a79c0e9b7107a77524bc11db52198bd5..e4fd805eed473e2accb74868c7a7634f50c00c7e 100644 (file)
@@ -3238,17 +3238,41 @@ PlatformResult SystemInfoDeviceCapability::GetPlatformCoreCpuFrequency(int* retu
   LoggerD("Entered");
 
   std::string freq;
-  std::ifstream cpuinfo_max_freq("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq");
-  if (!cpuinfo_max_freq.is_open()) {
+  std::string file_name;
+
+#ifdef TIZEN_IS_EMULATOR
+  file_name = "/proc/cpuinfo";
+#else
+  file_name = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq";
+#endif
+
+  std::ifstream cpuinfo_freq(file_name);
+  if (!cpuinfo_freq.is_open()) {
     LoggerE("Failed to get cpu frequency");
     return PlatformResult(ErrorCode::UNKNOWN_ERR, "Unable to open file");
   }
 
-  getline(cpuinfo_max_freq, freq);
-  cpuinfo_max_freq.close();
+#ifdef TIZEN_IS_EMULATOR
+  //get frequency value from cpuinfo file
+  //example entry for frequency looks like below
+  //cpu MHz   : 3392.046
+  std::size_t found;
+  do {
+    getline(cpuinfo_freq, freq);
+    found = freq.find("cpu MHz");
+  } while (std::string::npos == found && !cpuinfo_freq.eof());
 
-  LoggerD("cpu frequency : %s", freq.c_str());
+  found = freq.find(":");
+  if (std::string::npos != found) {
+    *return_value = std::stoi(freq.substr(found + 2));
+  }
+#else
+  getline(cpuinfo_freq, freq);
   *return_value = std::stoi(freq) / 1000; // unit: MHz
+#endif
+
+  cpuinfo_freq.close();
+  LoggerD("cpu frequency : %d", *return_value);
 
   return PlatformResult(ErrorCode::NO_ERROR);
 }
index 1137ebf4f37f331c68ecd34e2e4b54e1fdd53735..72441978fc297963fa2a4df20353412cde7abe2a 100644 (file)
@@ -37,6 +37,9 @@
             ]
           },
         }],
+        ['tizen_is_emulator == 1', {
+          'defines': ['TIZEN_IS_EMULATOR'],
+        }],
       ],
     },
   ],