# Make sure the generated paths exist
EXECUTE_PROCESS(COMMAND mkdir -p "${CMAKE_BINARY_DIR}/generated")
-CONFIGURE_FILE(packaging/device-policy-manager.manifest.in
- device-policy-manager.manifest @ONLY)
-
ADD_SUBDIRECTORY(specs)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(tools/sqlite3)
+++ /dev/null
-<manifest>
- <request>
- <domain name="_" />
- </request>
- <assign>
- <filesystem path="@EVENT_CONFIGURE_DIR@" label="@SMACK_LABEL@" type="transmutable" />
- </assign>
-</manifest>
Group: Security/Libraries
Source0: file://%{name}-%{version}.tar.gz
Source1: %name.manifest
-### Core dependencies
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: cmake
+# osquery BRs
BuildRequires: glog-devel
BuildRequires: gflags-devel
-BuildRequires: rocksdb-devel
-BuildRequires: snappy-devel
-BuildRequires: zlib-devel
-BuildRequires: bzip2-devel
-BuildRequires: lz4-devel
-BuildRequires: zstd-devel
BuildRequires: boost-devel
-BuildRequires: readline-devel
+BuildRequires: python-jinja2
+BuildRequires: libuuid-devel
BuildRequires: pkgconfig(libprocps)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(openssl)
-BuildRequires: iptables-devel
-BuildRequires: python-jinja2
-BuildRequires: libuuid-devel
+# policyd BRs
+BuildRequires: pkgconfig(klay)
+BuildRequires: pkgconfig(libtzplatform-config)
Requires: glog
Requires: gflag
-Requires: rocksdb
-Requires: snappy
-Requires: zlib
-Requires: bzip2
-Requires: lz4
-Requires: zstd
Requires: boost-regex boost-system boost-thread boost-filesystem
-Requires: libreadline
Requires: procps-ng
Requires: libsystemd
-Requires: iptables
%global user_name security_fw
%global group_name security_fw
%global dpm_event %{dpm_base}/event
%global dpm_plugins %{_libdir}/dpm/plugins
-
%description
Osquery exposes an operating system as a high-performance relational database.
This allows you to write SQL-based queries to explore operating system data.
-DDBUS_CONFIGURE_DIR=/etc/dbus-1/system.d \
-DDBUS_SERVICE_DIR=/usr/share/dbus-1/system-services
-
make %{?jobs:-j%jobs}
%install
mkdir -p %{buildroot}%{dpm_plugins}
mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
mkdir -p %{buildroot}/%{_unitdir}/sockets.target.wants
-#ln -s ../src/policyd/device-policy-manager.service %{buildroot}/%{_unitdir}/multi-user.target.wants/device-policy-manager.service
-#ln -s ../src/policyd/device-policy-manager.socket %{buildroot}/%{_unitdir}/sockets.target.wants/device-policy-manager.socket
-
-#%find_lang dpm-syspopup
%clean
rm -rf %{buildroot}
%files test
%manifest %{name}.manifest
-#%{_bindir}/osquery-test
-#%{_bindir}/apix-test
-
-
-## DPM Policyd ###############################################################
-%package policyd
-Summary: Tizen Device Policy Manager
-Group: Security/Other
-BuildRequires: gcc
-BuildRequires: cmake
-BuildRequires: gettext-tools
-BuildRequires: pkgconfig(klay)
-BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(sqlite3)
-BuildRequires: pkgconfig(bundle)
-BuildRequires: pkgconfig(pkgmgr)
-BuildRequires: pkgconfig(pkgmgr-info)
-BuildRequires: pkgconfig(aul)
-BuildRequires: pkgconfig(appsvc)
-BuildRequires: pkgconfig(syspopup-caller)
-BuildRequires: pkgconfig(deviced)
-BuildRequires: pkgconfig(vconf)
-BuildRequires: pkgconfig(vconf-internal-keys)
-BuildRequires: pkgconfig(notification)
-BuildRequires: pkgconfig(cynara-client)
-BuildRequires: pkgconfig(cynara-session)
-BuildRequires: pkgconfig(libtzplatform-config)
-BuildRequires: pkgconfig(security-privilege-manager)
-BuildRequires: pkgconfig(capi-system-system-settings)
-BuildRequires: pkgconfig(capi-base-common)
-
-%description policyd
-The device-policy-manager package provides a daemon which is responsible for
-managing device policies.
-
-%files policyd
-%manifest device-policy-manager.manifest
-%defattr(644,root,root,755)
-#%attr(700,root,root) %{_bindir}/dpm-admin-cli
-#%attr(755,root,root) %{_bindir}/dpm-syspopup
-#%attr(755,root,root) %{_bindir}/dpm-storage-builder
-#%attr(755,root,root) %{_bindir}/device-policy-syspopup
-#%attr(-,%{user_name},%{group_name}) %{dpm_base}
-#%attr(-,%{user_name},%{group_name}) %{dpm_event}
-%attr(-,%{user_name},%{group_name}) %{dpm_plugins}
-#%{_unitdir}/device-policy-manager.service
-#%{_unitdir}/device-policy-manager.socket
-#%{_unitdir}/sockets.target.wants/device-policy-manager.socket
-#%{_unitdir}/multi-user.target.wants/device-policy-manager.service
-#%{_unitdir}/device-policy-syspopup.service
-#/etc/dbus-1/system.d/org.tizen.dpm.syspopup.conf
-#/usr/share/dbus-1/system-services/org.tizen.dpm.syspopup.service
-
-## Devel Package ##############################################################
-%package policyd-devel
-Summary: Libraries and header files for device policy client development
-Group: Development/Libraries
-Requires: policyd = %{version}-%{release}
-BuildRequires: pkgconfig(bundle)
-BuildRequires: pkgconfig(pkgmgr)
-BuildRequires: pkgconfig(pkgmgr-info)
-BuildRequires: pkgconfig(aul)
-BuildRequires: pkgconfig(appsvc)
-BuildRequires: pkgconfig(syspopup-caller)
-
-%description policyd-devel
-The libdpm-pil-devel package includes the libraries and header files necessary for
-developing the device policy module.
-
-%files policyd-devel
-#%manifest device-policy-client.manifest
-%defattr(644,root,root,755)
-#%{_includedir}/dpm
-#%{_libdir}/pkgconfig/dpm-pil.pc
-
-## DPM Syspopup Package ######################################################
-%package -n org.tizen.dpm-syspopup
-Summary: Tizen DPM system popup Interface
-Group: Security/Other
-BuildRequires: pkgconfig(elementary)
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(capi-system-system-settings)
-BuildRequires: pkgconfig(capi-ui-efl-util)
-BuildRequires: pkgconfig(capi-system-info)
-%description -n org.tizen.dpm-syspopup
-Tizen DPM system popup interface package
-
-%files -n org.tizen.dpm-syspopup
-# -f dpm-syspopup.lang
-%defattr(-,root,root,-)
-#%manifest src/policyd/tools/syspopup/org.tizen.dpm-syspopup.manifest
-#%{TZ_SYS_RO_APP}/org.tizen.dpm-syspopup/bin/*
-#%{TZ_SYS_RO_PACKAGES}/org.tizen.dpm-syspopup.xml
-#/usr/share/icons/default/small/org.tizen.dpm-syspopup.png
-#%{TZ_SYS_RO_APP}/org.tizen.dpm-syspopup/res/images/*
-
-## Test Package ###############################################################
-%package policyd-test
-Summary: Tizen DPM internal test
-Group: Security/Development
-Requires: policyd = %{version}-%{release}
-BuildRequires: pkgconfig(klay)
-
-%description policyd-test
-Testcases for device policy manager
-
-%files policyd-test
+%{_bindir}/osquery-test
+%{_bindir}/apix-test
%{_bindir}/policyd-test
## DPM Plugins - ############################################################
## Common
BuildRequires: pkgconfig(buxton2)
BuildRequires: pkgconfig(dlog)
-#BuildRequires: pkgconfig(dpm-pil)
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(capi-base-common)
%files policyd-plugins
%manifest packaging/%{name}-plugins.manifest
%{_libdir}/dpm/plugins/bluetooth
-#%{_libdir}/dpm/plugins/usb
-#%{_libdir}/dpm/plugins/wifi
SET(TARGET_OSQUERY_LIB osquery)
SET(TARGET_POLICYD_LIB policyd)
-#ADD_SUBDIRECTORY(apix)
-#ADD_SUBDIRECTORY(osquery)
+ADD_SUBDIRECTORY(apix)
+ADD_SUBDIRECTORY(osquery)
IF(DEFINED GBS_BUILD)
ADD_SUBDIRECTORY(policyd)
ADD_OSQUERY_LINK(glog
gflags
pthread
- #rocksdb deps
- librocksdb.a
- snappy
- z
- bz2
dl
- lz4
- zstd
boost_regex
boost_system
boost_thread
boost_filesystem
crypto # openssl
- #shell deps
- readline
- #build-in tables deps
+ # build-in tables deps
systemd)
IF(DEFINED GBS_BUILD)
+++ /dev/null
-/**
- * Copyright (c) 2014-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed in accordance with the terms specified in
- * the LICENSE file found in the root directory of this source tree.
- */
-
-#include <sys/stat.h>
-
-#include <rocksdb/db.h>
-#include <rocksdb/env.h>
-#include <rocksdb/options.h>
-
-#include <osquery/filesystem/fileops.h>
-#include <osquery/filesystem/filesystem.h>
-#include <osquery/flags.h>
-#include <osquery/logger.h>
-#include <osquery/registry_factory.h>
-#include <osquery/utils/conversions/tryto.h>
-#include <plugins/database/rocksdb.h>
-
-namespace fs = boost::filesystem;
-
-namespace osquery {
-
-/// Hidden flags created for internal stress testing.
-HIDDEN_FLAG(int32, rocksdb_write_buffer, 16, "Max write buffer number");
-HIDDEN_FLAG(int32, rocksdb_merge_number, 4, "Min write buffer number to merge");
-HIDDEN_FLAG(int32, rocksdb_background_flushes, 4, "Max background flushes");
-HIDDEN_FLAG(uint64, rocksdb_buffer_blocks, 256, "Write buffer blocks (4k)");
-
-DECLARE_string(database_path);
-
-/**
- * @brief Track external systems marking the RocksDB database as corrupted.
- *
- * This can be set using the RocksDBDatabasePlugin's static methods.
- * The two primary external systems are the RocksDB logger plugin and tests.
- */
-std::atomic<bool> kRocksDBCorruptionIndicator{false};
-
-/// Backing-storage provider for osquery internal/core.
-REGISTER_INTERNAL(RocksDBDatabasePlugin, "database", "rocksdb");
-
-void GlogRocksDBLogger::Logv(const char* format, va_list ap) {
- // Convert RocksDB log to string and check if header or level-ed log.
- std::string log_line;
- {
- char buffer[501] = {0};
- vsnprintf(buffer, 500, format, ap);
- va_end(ap);
- if (buffer[0] != '[' || (buffer[1] != 'E' && buffer[1] != 'W')) {
- return;
- }
-
- log_line = buffer;
- }
-
- // There is a spurious warning on first open.
- if (log_line.find("Error when reading") == std::string::npos) {
- // RocksDB calls are non-reentrant. Since this callback is made in the
- // context of a RocksDB API call, turn log forwarding off to prevent the
- // logger from trying to make a call back into RocksDB and causing a
- // deadlock.
- LOG(INFO) << "RocksDB: " << log_line;
- }
-
- // If the callback includes 'Corruption' then set the corruption indicator.
- if (log_line.find("Corruption:") != std::string::npos) {
- RocksDBDatabasePlugin::setCorrupted();
- }
-}
-
-Status RocksDBDatabasePlugin::setUp() {
- if (!DatabasePlugin::kDBAllowOpen) {
- LOG(WARNING) << RLOG(1629) << "Not allowed to set up database plugin";
- }
-
- if (!initialized_) {
- initialized_ = true;
- options_.OptimizeForSmallDb();
-
- // Set meta-data (mostly) handling options.
- options_.create_if_missing = true;
- options_.create_missing_column_families = true;
- options_.info_log_level = rocksdb::ERROR_LEVEL;
- options_.log_file_time_to_roll = 0;
- options_.keep_log_file_num = 10;
- options_.max_log_file_size = 1024 * 1024 * 1;
- options_.max_open_files = 128;
- options_.stats_dump_period_sec = 0;
- options_.max_manifest_file_size = 1024 * 500;
-
- // Performance and optimization settings.
- // Use rocksdb::kZSTD to use ZSTD database compression
- options_.compression = rocksdb::kNoCompression;
- options_.compaction_style = rocksdb::kCompactionStyleLevel;
- options_.arena_block_size = (4 * 1024);
- options_.write_buffer_size = (4 * 1024) * FLAGS_rocksdb_buffer_blocks;
- options_.max_write_buffer_number =
- static_cast<int>(FLAGS_rocksdb_write_buffer);
- options_.min_write_buffer_number_to_merge =
- static_cast<int>(FLAGS_rocksdb_merge_number);
- options_.max_background_flushes =
- static_cast<int>(FLAGS_rocksdb_background_flushes);
-
- // Create an environment to replace the default logger.
- if (logger_ == nullptr) {
- logger_ = std::make_shared<GlogRocksDBLogger>();
- }
- options_.info_log = logger_;
-
- column_families_.push_back(rocksdb::ColumnFamilyDescriptor(
- rocksdb::kDefaultColumnFamilyName, options_));
-
- for (const auto& cf_name : kDomains) {
- column_families_.push_back(
- rocksdb::ColumnFamilyDescriptor(cf_name, options_));
- }
- }
-
- // Consume the current settings.
- // A configuration update may change them, but that does not affect state.
- path_ = fs::path(FLAGS_database_path).make_preferred().string();
-
- if (pathExists(path_).ok() && !isReadable(path_).ok()) {
- return Status(1, "Cannot read RocksDB path: " + path_);
- }
-
- if (!DatabasePlugin::kDBChecking) {
- VLOG(1) << "Opening RocksDB handle: " << path_;
- }
-
- // Tests may trash calls to setUp, make sure subsequent calls do not leak.
- close();
-
- // Attempt to create a RocksDB instance and handles.
- auto s =
- rocksdb::DB::Open(options_, path_, column_families_, &handles_, &db_);
-
- if (s.IsCorruption()) {
- // The database is corrupt - try to repair it
- repairDB();
- s = rocksdb::DB::Open(options_, path_, column_families_, &handles_, &db_);
- }
-
- if (!s.ok() || db_ == nullptr) {
- LOG(INFO) << "Rocksdb open failed (" << s.code() << ":" << s.subcode()
- << ") " << s.ToString();
- if (kDBRequireWrite) {
- // A failed open in R/W mode is a runtime error.
- return Status(1, s.ToString());
- }
-
- if (!DatabasePlugin::kDBChecking) {
- LOG(INFO) << "Opening RocksDB failed: Continuing with read-only support";
- }
- // Also disable event publishers.
- Flag::updateValue("disable_events", "true");
- read_only_ = true;
- }
-
- // RocksDB may not create/append a directory with acceptable permissions.
- if (!read_only_ && platformSetSafeDbPerms(path_) == false) {
- return Status(1, "Cannot set permissions on RocksDB path: " + path_);
- }
- return Status(0);
-}
-
-void RocksDBDatabasePlugin::tearDown() {
- close();
-}
-
-void RocksDBDatabasePlugin::close() {
- WriteLock lock(close_mutex_);
- for (auto handle : handles_) {
- delete handle;
- }
- handles_.clear();
-
- if (db_ != nullptr) {
- delete db_;
- db_ = nullptr;
- }
-
- if (isCorrupted()) {
- repairDB();
- setCorrupted(false);
- }
-}
-
-bool RocksDBDatabasePlugin::isCorrupted() {
- return kRocksDBCorruptionIndicator;
-}
-
-void RocksDBDatabasePlugin::setCorrupted(bool corrupted) {
- kRocksDBCorruptionIndicator = corrupted;
-}
-
-void RocksDBDatabasePlugin::repairDB() {
- // Try to backup the existing database.
- auto bpath = path_ + ".backup";
- if (pathExists(bpath).ok()) {
- if (!removePath(bpath).ok()) {
- LOG(ERROR) << "Cannot remove previous RocksDB database backup: " << bpath;
- return;
- } else {
- LOG(WARNING) << "Removed previous RocksDB database backup: " << bpath;
- }
- }
-
- if (movePath(path_, bpath).ok()) {
- LOG(WARNING) << "Backing up RocksDB database: " << bpath;
- } else {
- LOG(ERROR) << "Cannot backup the RocksDB database: " << bpath;
- return;
- }
-
- // ROCKSDB_LITE does not have a RepairDB method.
- LOG(WARNING) << "Destroying RocksDB database due to corruption";
-}
-
-rocksdb::DB* RocksDBDatabasePlugin::getDB() const {
- return db_;
-}
-
-rocksdb::ColumnFamilyHandle* RocksDBDatabasePlugin::getHandleForColumnFamily(
- const std::string& cf) const {
- size_t i = std::find(kDomains.begin(), kDomains.end(), cf) - kDomains.begin();
- if (i != kDomains.size()) {
- return handles_[i];
- } else {
- return nullptr;
- }
-}
-
-Status RocksDBDatabasePlugin::get(const std::string& domain,
- const std::string& key,
- std::string& value) const {
- if (getDB() == nullptr) {
- return Status(1, "Database not opened");
- }
- auto cfh = getHandleForColumnFamily(domain);
- if (cfh == nullptr) {
- return Status(1, "Could not get column family for " + domain);
- }
- auto s = getDB()->Get(rocksdb::ReadOptions(), cfh, key, &value);
- return Status(s.code(), s.ToString());
-}
-
-Status RocksDBDatabasePlugin::get(const std::string& domain,
- const std::string& key,
- int& value) const {
- std::string result;
- auto s = this->get(domain, key, result);
- if (s.ok()) {
- auto expectedValue = tryTo<int>(result);
- if (expectedValue.isError()) {
- return Status::failure("Could not deserialize str to int");
- } else {
- value = expectedValue.take();
- }
- }
- return s;
-}
-Status RocksDBDatabasePlugin::put(const std::string& domain,
- const std::string& key,
- const std::string& value) {
- return putBatch(domain, {std::make_pair(key, value)});
-}
-
-Status RocksDBDatabasePlugin::putBatch(const std::string& domain,
- const DatabaseStringValueList& data) {
- if (read_only_) {
- return Status::success();
- }
-
- auto cfh = getHandleForColumnFamily(domain);
- if (cfh == nullptr) {
- return Status(1, "Could not get column family for " + domain);
- }
-
- // Events should be fast, and do not need to force syncs.
- auto options = rocksdb::WriteOptions();
- if (kEvents == domain) {
- options.disableWAL = true;
- } else {
- options.sync = true;
- }
-
- rocksdb::WriteBatch batch;
- for (const auto& p : data) {
- const auto& key = p.first;
- const auto& value = p.second;
-
- batch.Put(cfh, key, value);
- }
-
- auto s = getDB()->Write(options, &batch);
- if (s.code() != 0 && s.IsIOError()) {
- // An error occurred, check if it is an IO error and remove the offending
- // specific filename or log name.
- std::string error_string = s.ToString();
- size_t error_pos = error_string.find_last_of(":");
- if (error_pos != std::string::npos) {
- return Status(s.code(), "IOError: " + error_string.substr(error_pos + 2));
- }
- }
-
- return Status(s.code(), s.ToString());
-}
-
-Status RocksDBDatabasePlugin::put(const std::string& domain,
- const std::string& key,
- int value) {
- return putBatch(domain, {std::make_pair(key, std::to_string(value))});
-}
-
-void RocksDBDatabasePlugin::dumpDatabase() const {}
-
-Status RocksDBDatabasePlugin::remove(const std::string& domain,
- const std::string& key) {
- if (read_only_) {
- return Status::success();
- }
-
- auto cfh = getHandleForColumnFamily(domain);
- if (cfh == nullptr) {
- return Status(1, "Could not get column family for " + domain);
- }
- auto options = rocksdb::WriteOptions();
-
- // We could sync here, but large deletes will cause multi-syncs.
- // For example: event record expirations found in an expired index.
- if (kEvents != domain) {
- options.sync = true;
- }
- auto s = getDB()->Delete(options, cfh, key);
- return Status(s.code(), s.ToString());
-}
-
-Status RocksDBDatabasePlugin::removeRange(const std::string& domain,
- const std::string& low,
- const std::string& high) {
- if (read_only_) {
- return Status::success();
- }
-
- auto cfh = getHandleForColumnFamily(domain);
- if (cfh == nullptr) {
- return Status(1, "Could not get column family for " + domain);
- }
- auto options = rocksdb::WriteOptions();
-
- // We could sync here, but large deletes will cause multi-syncs.
- // For example: event record expirations found in an expired index.
- if (kEvents != domain) {
- options.sync = true;
- }
- auto s = getDB()->DeleteRange(options, cfh, low, high);
- if (low <= high) {
- s = getDB()->Delete(options, cfh, high);
- }
- return Status(s.code(), s.ToString());
-}
-
-Status RocksDBDatabasePlugin::scan(const std::string& domain,
- std::vector<std::string>& results,
- const std::string& prefix,
- size_t max) const {
- if (getDB() == nullptr) {
- return Status(1, "Database not opened");
- }
-
- auto cfh = getHandleForColumnFamily(domain);
- if (cfh == nullptr) {
- return Status(1, "Could not get column family for " + domain);
- }
- auto options = rocksdb::ReadOptions();
- options.verify_checksums = false;
- options.fill_cache = false;
- auto it = getDB()->NewIterator(options, cfh);
- if (it == nullptr) {
- return Status(1, "Could not get iterator for " + domain);
- }
-
- size_t count = 0;
- for (it->SeekToFirst(); it->Valid(); it->Next()) {
- auto key = it->key().ToString();
- if (key.find(prefix) == 0) {
- results.push_back(std::move(key));
- if (max > 0 && ++count >= max) {
- break;
- }
- }
- }
- delete it;
- return Status::success();
-}
-} // namespace osquery
+++ /dev/null
-/**
- * Copyright (c) 2014-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed in accordance with the terms specified in
- * the LICENSE file found in the root directory of this source tree.
- */
-
-#include <atomic>
-
-#include <rocksdb/db.h>
-
-#include <osquery/core.h>
-#include <osquery/database.h>
-#include <osquery/utils/mutex.h>
-
-#include <gtest/gtest_prod.h>
-
-namespace osquery {
-
-/**
- * @brief This class is used to capture internal RocksDB messages.
- *
- * This can capture internal RocksDB warnings and errors.
- * We can use them to check the status of the database and forward to the logger
- * plugin so they are not lost to stderr.
- */
-class GlogRocksDBLogger : public rocksdb::Logger {
- public:
- using rocksdb::Logger::Logv;
-
- /// Capture log events from RocksDB, inspect, and potentially forward to Glog.
- void Logv(const char* format, va_list ap) override;
-};
-
-class RocksDBDatabasePlugin : public DatabasePlugin {
- public:
- /// Data retrieval method.
- Status get(const std::string& domain,
- const std::string& key,
- std::string& value) const override;
-
- Status get(const std::string& domain,
- const std::string& key,
- int& value) const override;
-
- /// Data storage method.
- Status put(const std::string& domain,
- const std::string& key,
- const std::string& value) override;
-
- Status put(const std::string& domain,
- const std::string& key,
- int value) override;
-
- Status putBatch(const std::string& domain,
- const DatabaseStringValueList& data) override;
-
- void dumpDatabase() const override;
-
- /// Data removal method.
- Status remove(const std::string& domain, const std::string& k) override;
-
- /// Data range removal method.
- Status removeRange(const std::string& domain,
- const std::string& low,
- const std::string& high) override;
-
- /// Key/index lookup method.
- Status scan(const std::string& domain,
- std::vector<std::string>& results,
- const std::string& prefix,
- size_t max) const override;
-
- public:
- /// Database workflow: open and setup.
- Status setUp() override;
-
- /// Database workflow: close and cleanup.
- void tearDown() override;
-
- /// Need to tear down open resources,
- virtual ~RocksDBDatabasePlugin() {
- close();
- }
-
- private:
- /// Obtain a close lock and release resources.
- void close();
-
- /**
- * @brief Private helper around accessing the column family handle for a
- * specific column family, based on its name
- */
- rocksdb::ColumnFamilyHandle* getHandleForColumnFamily(
- const std::string& cf) const;
-
- /**
- * @brief Helper method which can be used to get a raw pointer to the
- * underlying RocksDB database handle
- *
- * @return a pointer to the underlying RocksDB database handle
- */
- rocksdb::DB* getDB() const;
-
- /**
- * @brief Helper method to repair a corrupted db. Best effort only.
- *
- * @return nothing.
- */
- void repairDB();
-
- /// Flush memtables and trigger compaction.
- void flush();
-
- private:
- /**
- * @brief Mark the RocksDB database as corrupted.
- *
- * This will set the global kCorruptionIndicator.
- * This may be used from tests or from the RocksDB logger.
- */
- static void setCorrupted(bool corrupted = true);
-
- /// Check if the RocksDB database as been marked corrupted.
- static bool isCorrupted();
-
- private:
- bool initialized_{false};
-
- /// The database handle
- rocksdb::DB* db_{nullptr};
-
- /// RocksDB logger instance.
- std::shared_ptr<GlogRocksDBLogger> logger_{nullptr};
-
- /// Column family descriptors which are used to connect to RocksDB
- std::vector<rocksdb::ColumnFamilyDescriptor> column_families_;
-
- /// A vector of pointers to column family handles
- std::vector<rocksdb::ColumnFamilyHandle*> handles_;
-
- /// The RocksDB connection options that are used to connect to RocksDB
- rocksdb::Options options_;
-
- /// Deconstruction mutex.
- Mutex close_mutex_;
-
- private:
- friend class GlogRocksDBLogger;
- FRIEND_TEST(RocksDBDatabasePluginTests, test_corruption);
-};
-} // namespace osquery
+++ /dev/null
-/**
- * Copyright (c) 2014-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed in accordance with the terms specified in
- * the LICENSE file found in the root directory of this source tree.
- */
-
-#include <plugins/database/rocksdb.h>
-#include <osquery/filesystem/filesystem.h>
-#include <osquery/sql.h>
-#include <plugins/database/tests/utils.h>
-
-namespace osquery {
-
-class RocksDBDatabasePluginTests : public DatabasePluginTests {
- protected:
- std::string name() override {
- return "rocksdb";
- }
-};
-
-// Define the default set of database plugin operation tests.
-CREATE_DATABASE_TESTS(RocksDBDatabasePluginTests);
-
-TEST_F(RocksDBDatabasePluginTests, test_rocksdb_loglevel) {
- // Make sure a log file was created.
- EXPECT_FALSE(pathExists(path_ + "/LOG"));
-
- // Make sure no log file is created.
- // RocksDB logs are intercepted and forwarded to the GLog sink.
- auto details = SQL::selectAllFrom("file", "path", EQUALS, path_ + "/LOG");
- ASSERT_EQ(details.size(), 0U);
-}
-
-TEST_F(RocksDBDatabasePluginTests, test_corruption) {
- ASSERT_TRUE(pathExists(path_));
- ASSERT_FALSE(pathExists(path_ + ".backup"));
-
- // Mark the database as corrupted
- RocksDBDatabasePlugin::setCorrupted();
- printf("set corrupt\n");
- resetDatabase();
- printf("did reset\n");
-
- EXPECT_TRUE(pathExists(path_ + ".backup"));
-
- // Remove the backup and expect another reload to not create one.
- removePath(path_ + ".backup");
- ASSERT_FALSE(pathExists(path_ + ".backup"));
-
- resetDatabase();
- EXPECT_FALSE(pathExists(path_ + ".backup"));
-}
-}
ADD_SUBDIRECTORY(core)
ADD_SUBDIRECTORY(sdk)
-#ADD_SUBDIRECTORY(client)
-#ADD_SUBDIRECTORY(conf)
-#ADD_SUBDIRECTORY(pil)
-#ADD_SUBDIRECTORY(server)
-#ADD_SUBDIRECTORY(tools)
-#ADD_SUBDIRECTORY(ui)
-
ADD_LIBRARY(${TARGET_POLICYD_LIB} STATIC ${${TARGET_POLICYD_LIB}_SRCS})
TARGET_LINK_LIBRARIES(${TARGET_POLICYD_LIB} ${POLICYD_DEPS_LIBRARIES} pthread dl)
SET_TARGET_PROPERTIES(${TARGET_POLICYD_LIB} PROPERTIES COMPILE_FLAGS "-fPIE")
SET_TARGET_PROPERTIES(${TARGET_POLICYD_LIB} PROPERTIES LINK_FLAGS "-pie")
-
ADD_EXECUTABLE(${TARGET_POLICYD_TEST} ../apix/main/tests.cpp
${${TARGET_POLICYD_LIB}_TESTS})
+++ /dev/null
-# Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
-#
-# 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.
-#
-
-SET(CAPIS device-policy-manager.h
- administration.h)
-
-INSTALL(FILES ${CAPIS} DESTINATION ${INCLUDE_INSTALL_DIR}/dpm)
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __CAPI_ADMINISTRATION_POLICY_H__
-#define __CAPI_ADMINISTRATION_POLICY_H__
-
-#include <sys/types.h>
-
-#include <dpm/device-policy-manager.h>
-
-/**
- * @file administration.h
- * @brief This file provides APIs to register/deregister the device admin client
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @addtogroup CAPI_DPM_ADMINISTRATION_POLICY_MODULE
- * @{
- */
-
-/**
- * @brief Registers device policy admin client.
- * @details This API is used to register the device policy admin client to
- * the device policy manager. The device policy admin client must be
- * registered to use the device administration APIs.
- * @since_tizen 3.0
- * @param[in] handle The device policy manager handle
- * @param[in] name The name of the device policy admin package
- * @param[in] uid The uid of the device policy admin package
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_TIMEOUT Time out
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid package name
- * @retval #DPM_ERROR_PERMISSION_DENIED The application does not have
- * the privilege to call this API
- * @pre handle must be created by dpm_context_create()
- * @see dpm_context_acquire_admin_policy()
- * @see dpm_context_release_admin_policy()
- * @see dpm_admin_deregister_client()
- */
-int dpm_admin_register_client(device_policy_manager_h handle, const char* name, uid_t uid);
-
-/**
- * @brief Deregisters the device policy admin client.
- * @details This API is used to deregister the Device Policy Client from
- * the device policy manager.
- * @since_tizen 3.0
- * @param[in] handle The device policy manager handle
- * @param[in] name The name of the device policy admin package
- * @param[in] uid The uid of the device policy admin package
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_TIMEOUT Time out
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid package name
- * @retval #DPM_ERROR_PERMISSION_DENIED The application does not have
- * the privilege to call this API
- * @pre handle must be created by dpm_context_create()
- * @see dpm_context_acquire_admin_policy()
- * @see dpm_context_release_admin_policy()
- * @see dpm_admin_register_client()
- */
-int dpm_admin_deregister_client(device_policy_manager_h handle, const char* name, uid_t uid);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif //__CAPI_ADMINISTRATION_POLICY_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DEVICE_POLICY_MANAGER_H__
-#define __DEVICE_POLICY_MANAGER_H__
-
-#include <tizen.h>
-#include <tizen_type.h>
-
-/**
- * @file device-policy-manager.h
- * @brief This file defines common data types required to device policy APIs.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @addtogroup CAPI_DPM_MANAGER_MODULE
- * @{
- */
-
-/**
- * @brief Called when a policy is changed.
- * @since_tizen 3.0
- * @param[in] name The name of the policy
- * @param[in] state The current state of the policy
- * @param[in] user_data The user data passed from dpm_manager_add_policy_changed_cb
- * @see dpm_manager_add_policy_changed_cb()
- * @see dpm_manager_remove_policy_changed_cb()
- */
-typedef void (*dpm_policy_changed_cb)(const char* name, const char* state, void *user_data);
-
-/**
- * @brief The device policy manager handle
- * @details The device policy manager handle is an abstraction of the
- * logical connection between the device policy manager and
- * it's client. The device policy manager handle must be
- * created by using dpm_manager_create() before attempting to
- * use almost any of the device policy APIs, and it should
- * be freed when interaction with the device policy manager
- * is no longer required.
- * To release the handle, use dpm_manager_destroy().
- * @since_tizen 3.0
- * @see dpm_manager_create()
- * @see dpm_manager_destroy()
- */
-typedef void* device_policy_manager_h;
-
-/**
- * @brief Enumeration of device policy API errors
- * @since_tizen 3.0
- */
-typedef enum {
- DPM_ERROR_NONE = TIZEN_ERROR_NONE, /**< The operation was successful */
- DPM_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
- DPM_ERROR_CONNECTION_REFUSED = TIZEN_ERROR_CONNECTION_REFUSED, /**< Connection refused */
- DPM_ERROR_TIMED_OUT = TIZEN_ERROR_TIMED_OUT, /**< Time out */
- DPM_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< Access privilege is not sufficient */
- DPM_ERROR_NOT_PERMITTED = TIZEN_ERROR_NOT_PERMITTED, /**< Operation not permitted */
- DPM_ERROR_FILE_EXISTS = TIZEN_ERROR_FILE_EXISTS, /**< File exists */
- DPM_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
- DPM_ERROR_NO_DATA = TIZEN_ERROR_NO_DATA /**< No Data */
-} dpm_error_type_e;
-
-/**
- * @brief Creates the device policy manager handle.
- * @details This API creates device policy manager handle required to
- * the device policy APIs.
- * This API is also used to verify whether caller is authorized
- * or not.
- * @since_tizen 3.0
- * @return Device policy manager handle on success, otherwise NULL
- * @remarks The specific error code can be obtained by using the
- * get_last_result() method. Error codes are described in
- * exception section.
- * The returned handle should be released using dpm_manager_destroy().
- * @exception #DPM_ERROR_NONE No error
- * @exception #DPM_ERROR_CONNECTION_REFUSED Connection refused
- * @exception #DPM_ERROR_OUT_OF_MEMORY Out of memory
- * @see dpm_manager_destroy()
- * @see get_last_result()
- */
-device_policy_manager_h dpm_manager_create(void);
-
-/**
- * @brief Releases the device policy manager handle.
- * @details This API must be called if interaction with the device
- * policy manager is no longer required.
- * @since_tizen 3.0
- * @param[in] handle Device policy manager handle
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid parameter
- * @pre The handle must be created by dpm_manager_create().
- * @see dpm_manager_create()
- */
-int dpm_manager_destroy(device_policy_manager_h handle);
-
-/**
- * @brief Adds policy change callback to the device policy
- * manager.
- * @details This API can be used to subscribe policy change callback.
- * The callback specified to this API is asynchronously called when
- * policy is changed on runtime.
- * @since_tizen 3.0
- * @param[in] handle Device policy manager handle
- * @param[in] name Policy name to subscribe(see @ref CAPI_SECURITY_DPM_MODULE_POLICY)
- * @param[in] callback The callback when policy is changed
- * @param[in] user_data User specified data passed to the callback
- * @param[out] id Policy change callback identifier
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DPM_ERROR_TIMED_OUT Time out
- * @remark See @ref CAPI_SECURITY_DPM_MODULE_POLICY section for available policy name
- * @pre The handle must be created by dpm_manager_create().
- * @see dpm_manager_create()
- * @see dpm_remove_policy_changed_cb()
- */
-int dpm_add_policy_changed_cb(device_policy_manager_h handle,
- const char* name,
- dpm_policy_changed_cb callback,
- void* user_data,
- int* id);
-/**
- * @brief Removes policy change callback from the device policy
- * manager.
- * @details This API should be called if policy change subscription is no longer
- * required.
- * @since_tizen 3.0
- * @param[in] handle Device policy manager handle
- * @param[in] id Policy change callback identifier
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DPM_ERROR_TIMED_OUT Time out
- * @pre The handle must be created by dpm_manager_create().
- * @pre The callback identifier must be created by dpm_manager_add_policy_changed_cb().
- * @see dpm_manager_create()
- * @see dpm_add_policy_changed_cb()
- */
-int dpm_remove_policy_changed_cb(device_policy_manager_h handle, int id);
-/**
- * @brief Called when a zone raises a signal.
- * @since_tizen 3.0
- * @param[in] name The zone name
- * @param[in] object The object name triggered the signal
- * @param[in] user_data The user data passed from dpm_zone_add_signal_cb
- * @see dpm_zone_add_signal_cb()
- * @see dpm_zone_remove_signal_cb()
- */
-typedef void(*dpm_signal_cb)(const char* name, const char* object, void *user_data);
-
-/**
- * @brief Adds signal callback.
- * @details This API can be used to receive signals raised by the device policy manager.
- * The callback specified to this function is automatically called when
- * the device policy manager raises signal.
- * @since_tizen 3.0
- * @param[in] handle Device policy manager handle
- * @param[in] signal The signal name to receive(see @ref CAPI_DPM_SECURITY_MODULE_SIGNAL)
- * @param[in] callback The signal callback
- * @param[in] user_data The user data passed to the callback function
- * @param[out] id Signal identifier
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DPM_ERROR_TIMED_OUT Time out
- * @remark See @ref CAPI_DPM_SECURITY_MODULE_SIGNAL section for signals
- * @pre The handle must be created by dpm_manager_create().
- * @see dpm_manager_create()
- * @see dpm_manager_destroy()
- * @see dpm_remove_signal_cb()
- */
-int dpm_add_signal_cb(device_policy_manager_h handle, const char* signal,
- dpm_signal_cb callback, void* user_data, int* id);
-
-/**
- * @brief Removes signal callback.
- * @details This API removes signal callback.
- * @since_tizen 3.0
- * @param[in] handle Device policy manager handle
- * @param[in] id Signal identifier
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #DPM_ERROR_TIMED_OUT Time out
- * @pre The context must be created by dpm_manager_create().
- * @see dpm_manager_create()
- * @see dpm_manager_destroy()
- * @see dpm_add_signal_cb()
- */
-int dpm_remove_signal_cb(device_policy_manager_h handle, int id);
-/**
- * @}
- */
-
-/**
- * @addtogroup CAPI_DPM_ADMINISTRATION_POLICY_MODULE
- * @{
- */
-
-/**
- * @brief Registers device policy admin client.
- * @details This API is used to register the device policy admin client to
- * the device policy manager. The device policy admin client must be
- * registered to use the device administration APIs.
- * @since_tizen 3.0
- * @param[in] handle The device policy manager handle
- * @param[in] name The name of the device policy admin package
- * @param[in] uid The uid of the device policy admin package
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_TIMEOUT Time out
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid package name
- * @retval #DPM_ERROR_PERMISSION_DENIED The application does not have
- * the privilege to call this API
- * @pre handle must be created by dpm_context_create()
- * @see dpm_manager_create()
- * @see dpm_manager_destroy()
- * @see dpm_admin_deregister_client()
- */
-int dpm_admin_register_client(device_policy_manager_h handle, const char* name, uid_t uid);
-
-/**
- * @brief Deregisters the device policy admin client.
- * @details This API is used to deregister the Device Policy Client from
- * the device policy manager.
- * @since_tizen 3.0
- * @param[in] handle The device policy manager handle
- * @param[in] name The name of the device policy admin package
- * @param[in] uid The uid of the device policy admin package
- * @return #DPM_ERROR_NONE on success, otherwise a negative value
- * @retval #DPM_ERROR_NONE Successful
- * @retval #DPM_ERROR_TIMEOUT Time out
- * @retval #DPM_ERROR_INVALID_PARAMETER Invalid package name
- * @retval #DPM_ERROR_PERMISSION_DENIED The application does not have
- * the privilege to call this API
- * @pre handle must be created by dpm_context_create()
- * @see dpm_manager_create()
- * @see dpm_manager_destroy()
- * @see dpm_admin_register_client()
- */
-int dpm_admin_deregister_client(device_policy_manager_h handle, const char* name, uid_t uid);
-/**
- * @}
- */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __DEVICE_POLICY_MANAGER_H__ */
+++ /dev/null
-# Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
-#
-# 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.
-#
-
-CONFIGURE_FILE(systemd/device-policy-manager.service.in device-policy-manager.service)
-CONFIGURE_FILE(systemd/device-policy-syspopup.service.in device-policy-syspopup.service)
-INSTALL(FILES device-policy-manager.service DESTINATION ${SYSTEMD_UNIT_INSTALL_DIR})
-INSTALL(FILES device-policy-syspopup.service DESTINATION ${SYSTEMD_UNIT_INSTALL_DIR})
-INSTALL(FILES systemd/device-policy-manager.socket DESTINATION ${SYSTEMD_UNIT_INSTALL_DIR})
-
-INSTALL(FILES dbus/org.tizen.dpm.syspopup.conf DESTINATION ${DBUS_CONFIGURE_DIR})
-INSTALL(FILES dbus/org.tizen.dpm.syspopup.service DESTINATION ${DBUS_SERVICE_DIR})
-
-CONFIGURE_FILE(pkgconfig/dpm-pil.pc.in dpm-pil.pc @ONLY)
-INSTALL(FILES dpm-pil.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+++ /dev/null
-<busconfig>
- <policy group="users">
- <allow own="org.tizen.DevicePolicyManager"/>
- <allow send_destination="org.tizen.DevicePolicyManager"/>
- </policy>
- <policy user="security_fw">
- <allow own="org.tizen.DevicePolicyManager"/>
- <allow send_destination="org.tizen.DevicePolicyManager"/>
- </policy>
- <policy user="root">
- <allow send_destination="org.tizen.DevicePolicyManager"/>
- </policy>
- <policy context="default">
- <deny own="org.tizen.DevicePolicyManager"/>
- <deny send_destination="org.tizen.DevicePolicyManager"/>
- <check send_destination="org.tizen.DevicePolicyManager" send_interface="org.tizen.DevicePolicyManager.Syspopup" privilege="http://tizen.org/privilege/internal/default/platform"/>
- </policy>
-</busconfig>
+++ /dev/null
-[D-BUS Service]
-Name=org.tizen.DevicePolicyManager
-Exec=/bin/false
-SystemdService=device-policy-syspopup.service
+++ /dev/null
-# Package Information for pkg-config
-
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@LIB_INSTALL_DIR@
-includedir=@INCLUDE_INSTALL_DIR@
-
-Name: dpm platform interface
-Description: Platform Interface Library for Device Policy Plugin
-Requires : dlog glib-2.0 sqlite3 libtzplatform-config aul pkgmgr pkgmgr-info
-Version: @VERSION@
-Libs: -L${libdir} -ldpm-pil
-Cflags: -I${includedir}/dpm/pil
-
+++ /dev/null
-[Unit]
-Description=Device Policy Manager
-Wants=pulseaudio.service
-After=pulseaudio.service
-
-[Service]
-User=${USER_NAME}
-Group=${GROUP_NAME}
-SmackProcessLabel=${SMACK_LABEL}
-ExecStartPre=${CMAKE_INSTALL_PREFIX}/bin/dpm-storage-builder
-ExecStart=${CMAKE_INSTALL_PREFIX}/bin/device-policy-manager -o 5000
-Restart=on-failure
-ExecReload=/bin/kill -HUP $MAINPID
-CapabilityBoundingSet=~CAP_MAC_ADMIN
-CapabilityBoundingSet=~CAP_MAC_OVERRIDE
-
-[Install]
-WantedBy=multi-user.target
+++ /dev/null
-[Socket]
-ListenStream=/tmp/.device-policy-manager.sock
-SocketUser=security_fw
-SocketGroup=security_fw
-SocketMode=0777
-SmackLabelIPIn=*
-SmackLabelIPOut=@
-
-[Install]
-WantedBy=sockets.target
-
+++ /dev/null
-[Unit]
-Description=Device Policy Manager Syspopup
-
-[Service]
-Type=dbus
-BusName=org.tizen.DevicePolicyManager
-User=${USER_NAME}
-Group=${GROUP_NAME}
-SmackProcessLabel=${SMACK_LABEL}
-ExecStart=${CMAKE_INSTALL_PREFIX}/bin/device-policy-syspopup
-Restart=on-failure
-ExecReload=/bin/kill -HUP $MAINPID
-CapabilityBoundingSet=~CAP_MAC_ADMIN
-CapabilityBoundingSet=~CAP_MAC_OVERRIDE
+++ /dev/null
-# Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
-#
-# 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.
-#
-
-ADD_POLICYD_LIBRARY(pil app-bundle.cpp
- launchpad.cpp
- logger.cpp
- packman.cpp
- policy-event.cpp
- policy-client.cpp
- policy-admin.cpp
- policy-storage.cpp)
-
-FILE(GLOB PIL_TESTS "tests/*.cpp")
-ADD_POLICYD_TEST(${PIL_TESTS})
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <memory>
-
-#include <klay/exception.h>
-
-#include "app-bundle.h"
-
-Bundle::Bundle() :
- handle(nullptr)
-{
- handle = ::bundle_create();
- if (handle == nullptr) {
- throw runtime::Exception("Failed to create bundle");
- }
-}
-
-Bundle::~Bundle()
-{
- ::bundle_free(handle);
-}
-
-void Bundle::addInternal(const std::string& key, const std::string& value)
-{
- ::bundle_add_str(handle, key.c_str(), value.c_str());
-}
-
-void Bundle::addArrayInternal(const std::string& key, const std::vector<std::string>& array)
-{
- std::unique_ptr<const char*[]> arrayptr(new const char*[array.size()]);
-
- int index = 0;
- for (const std::string& data : array) {
- arrayptr.get()[index++] = data.c_str();
- }
-
- ::bundle_add_str_array(handle, key.c_str(), arrayptr.get(), array.size());
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_BUNDLE_H__
-#define __DPM_BUNDLE_H__
-
-#include <string>
-#include <vector>
-
-#include <bundle.h>
-
-class Bundle {
-public:
- Bundle();
- ~Bundle();
-
- template<typename T>
- void add(const std::string& key, const std::vector<T>& value)
- {
- addArrayInternal(key, value);
- }
-
- template<typename T>
- void add(const std::string& key, const T& value)
- {
- addInternal(key, value);
- }
-
- bundle* get() const
- {
- return handle;
- }
-
-private:
- void addInternal(const std::string& key, const std::string& value);
- void addArrayInternal(const std::string& key, const std::vector<std::string>& array);
-
-private:
- bundle* handle;
-};
-
-#endif //__DPM_BUNDLE_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <unistd.h>
-#include <signal.h>
-#include <sys/types.h>
-
-#include <aul.h>
-#include <klay/exception.h>
-
-#include "launchpad.h"
-
-Launchpad::Launchpad(const uid_t uid) :
- user(uid)
-{
- if (user == 0) {
- throw runtime::Exception("No logined user for launching app");
- }
-}
-
-bool Launchpad::isRunning(const std::string& appid)
-{
- return ::aul_app_is_running_for_uid(appid.c_str(), user);
-}
-
-void Launchpad::launch(const std::string& appid)
-{
- launch(appid, Bundle());
-}
-
-void Launchpad::launch(const std::string& appid, const Bundle& bundle)
-{
- if (::aul_launch_app_for_uid(appid.c_str(), bundle.get(), user) < 0) {
- throw runtime::Exception("Failed to launch app " + appid);
- }
-}
-
-void Launchpad::resume(const std::string& appid)
-{
- if (::aul_resume_app_for_uid(appid.c_str(), user) < 0) {
- throw runtime::Exception("Failed to resume app " + appid);
- }
-}
-
-void Launchpad::terminate(const std::string& appid)
-{
- int pid = ::aul_app_get_pid_for_uid(appid.c_str(), user);
- if (pid > 0) {
- if (::aul_terminate_pid_for_uid(pid, user) < 0) {
- ::kill(pid, SIGKILL);
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_LAUNCHPAD_H__
-#define __DPM_LAUNCHPAD_H__
-
-#include <string>
-
-#include "app-bundle.h"
-
-class Launchpad {
-public:
- Launchpad(const uid_t uid = 0);
- Launchpad(const Launchpad&) = delete;
- Launchpad(Launchpad&&) = delete;
-
- void launch(const std::string& appid);
- void launch(const std::string& appid, const Bundle& bundle);
- void resume(const std::string& appid);
- bool isRunning(const std::string& appid);
- void terminate(const std::string& appid);
-
-private:
- uid_t user;
-};
-
-#endif //__DPM_LAUNCHPAD_H__
+++ /dev/null
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <klay/audit/dlog-sink.h>
-
-#include "logger.h"
-
-std::unique_ptr<audit::LogSink> Logger::logSink = nullptr;
-std::once_flag Logger::flag;
-
-audit::LogSink* Logger::GetLogSink(const std::string& tag)
-{
- std::call_once(flag, [&]() {
- auto dlogSink = new audit::DlogLogSink(tag);
- logSink.reset(dynamic_cast<audit::LogSink*>(dlogSink));
- });
-
- return logSink.get();
-}
+++ /dev/null
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_LOGGER_H__
-#define __DPM_LOGGER_H__
-
-#include <klay/audit/logger.h>
-
-#include <memory>
-#include <mutex>
-
-#define DPM Logger::GetLogSink("DPM")
-
-class Logger {
-public:
- static audit::LogSink* GetLogSink(const std::string& tag);
-
-private:
- static std::unique_ptr<audit::LogSink> logSink;
- static std::once_flag flag;
-};
-
-#endif //__DPM_LOGGER_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_OBSERVER_H__
-#define __DPM_OBSERVER_H__
-#include <sys/types.h>
-
-#include <iostream>
-#include <vector>
-#include <functional>
-
-class Observer {
-public:
- virtual ~Observer() {}
- virtual void onEvent(uid_t domain) = 0;
-};
-
-class Observerable {
-public:
- void attach(Observer* observer)
- {
- observers.push_back(observer);
- }
-
- void notify(uid_t domain)
- {
- for (auto observer: observers) {
- observer->onEvent(domain);
- }
- }
-
-private:
- std::vector<Observer *> observers;
-};
-
-#endif //__DPM_OBSERVER_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <klay/exception.h>
-
-#include "packman.h"
-
-namespace {
-
-int PackageEventCallback(uid_t uid, int id, const char* type, const char* name,
- const char* key, const char* val, const void* msg, void* data)
-{
- return 0;
-}
-
-int PackageListCallback(pkgmgrinfo_pkginfo_h handle, void *data)
-{
- char* pkgid;
- if (::pkgmgrinfo_pkginfo_get_pkgid(handle, &pkgid) == PMINFO_R_OK) {
- std::vector<std::string>* packageList = static_cast<std::vector<std::string>*>(data);
- packageList->push_back(pkgid);
- }
-
- return 0;
-}
-
-} // namespace
-
-PackageInfo::PackageInfo(const std::string& pkgid, uid_t uid) :
- user(uid), handle(nullptr)
-{
- if (uid == 0) {
- uid = getuid();
- }
-
- if (::pkgmgrinfo_pkginfo_get_usr_pkginfo(pkgid.c_str(), user, &handle) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid Package Id");
- }
-}
-
-PackageInfo::~PackageInfo()
-{
- ::pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
-}
-
-std::string PackageInfo::getType() const
-{
- char *pkgtype;
- if (::pkgmgrinfo_pkginfo_get_type(handle, &pkgtype) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return pkgtype;
-}
-
-std::string PackageInfo::getLabel() const
-{
- char *label;
- if (::pkgmgrinfo_pkginfo_get_label(handle, &label) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return label;
-}
-
-std::string PackageInfo::getIcon() const
-{
- char *icon;
- if (::pkgmgrinfo_pkginfo_get_icon(handle, &icon) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return icon;
-}
-
-std::string PackageInfo::getDescription() const
-{
- char *desc;
- if (::pkgmgrinfo_pkginfo_get_description(handle, &desc) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return desc;
-}
-
-std::string PackageInfo::getAuthorName() const
-{
- char *name;
- if (::pkgmgrinfo_pkginfo_get_author_name(handle, &name) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return name;
-}
-
-std::string PackageInfo::getAuthorEmail() const
-{
- char *email;
- if (::pkgmgrinfo_pkginfo_get_author_email(handle, &email) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return email;
-}
-
-std::string PackageInfo::getAuthorHref() const
-{
- char *href;
- if (::pkgmgrinfo_pkginfo_get_author_name(handle, &href) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return href;
-}
-
-std::string PackageInfo::getVersion() const
-{
- char *version;
- if (::pkgmgrinfo_pkginfo_get_version(handle, &version) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return version;
-}
-
-std::string PackageInfo::getApiVersion() const
-{
- char *api;
- if (::pkgmgrinfo_pkginfo_get_api_version(handle, &api) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return api;
-}
-
-std::string PackageInfo::getMainAppId() const
-{
- char *mainappid;
- if (::pkgmgrinfo_pkginfo_get_mainappid(handle, &mainappid) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return mainappid;
-}
-
-bool PackageInfo::isSystem() const
-{
- bool ret;
- if (::pkgmgrinfo_pkginfo_is_system(handle, &ret) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return ret;
-}
-
-bool PackageInfo::isRemovable() const
-{
- bool ret;
- if (::pkgmgrinfo_pkginfo_is_removable(handle, &ret) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return ret;
-}
-
-bool PackageInfo::isPreload() const
-{
- bool ret;
- if (::pkgmgrinfo_pkginfo_is_preload(handle, &ret) != PMINFO_R_OK) {
- throw runtime::Exception("Invalid operation");
- }
-
- return ret;
-}
-
-PackageManager::PackageManager() :
- nativeRequestHandle(nullptr), nativeListenHandle(nullptr)
-{
- nativeRequestHandle = ::pkgmgr_client_new(PC_REQUEST);
- if (nativeRequestHandle == nullptr) {
- throw runtime::Exception("No package manager request instance");
- }
-
- nativeListenHandle = ::pkgmgr_client_new(PC_LISTENING);
- if (nativeListenHandle == nullptr) {
- ::pkgmgr_client_free(nativeRequestHandle);
- throw runtime::Exception("No package manager listening instance");
- }
-}
-
-PackageManager::~PackageManager()
-{
- ::pkgmgr_client_free(nativeRequestHandle);
- ::pkgmgr_client_free(nativeListenHandle);
-}
-
-PackageManager& PackageManager::instance()
-{
- static PackageManager __instance__;
- return __instance__;
-}
-
-void PackageManager::setEventCallback(pkgmgr_handler callback, void* user_data)
-{
- int ret;
- ret = ::pkgmgr_client_listen_status(nativeListenHandle, callback, user_data);
- if (ret < 0) {
- throw runtime::Exception("Failed to set package event callback");
- }
-}
-
-void PackageManager::unsetEventCallback()
-{
- int ret;
- ret = ::pkgmgr_client_remove_listen_status(nativeListenHandle);
- if (ret < 0) {
- throw runtime::Exception("Failed to unset package event callback");
- }
-}
-
-void PackageManager::installPackage(const std::string& pkgpath, const uid_t user)
-{
- int ret = ::pkgmgr_client_usr_install(nativeRequestHandle, NULL, NULL, pkgpath.c_str(), NULL, PM_QUIET, PackageEventCallback, nullptr, user);
- if (ret < PKGMGR_R_OK) {
- throw runtime::Exception("Package installation failed");
- }
-}
-
-void PackageManager::uninstallPackage(const std::string& pkgid, const uid_t user)
-{
- std::string pkgtype;
-
- PackageInfo pkgInfo(pkgid, user);
- pkgtype = pkgInfo.getType();
-
- int ret = ::pkgmgr_client_usr_uninstall(nativeRequestHandle, pkgtype.c_str(), pkgid.c_str(), PM_QUIET, PackageEventCallback, nullptr, user);
- if (ret < PKGMGR_R_OK) {
- throw runtime::Exception("Package manager exception");
- }
-}
-
-std::vector<std::string> PackageManager::getPackageList(const uid_t user)
-{
- std::vector<std::string> packageList;
-
- if (::pkgmgrinfo_pkginfo_get_usr_list(PackageListCallback, &packageList, user) != PMINFO_R_OK) {
- throw runtime::Exception("Error in pkgmgrinfo_pkginfo_get_list");
- }
-
- return packageList;
-}
-
-void PackageManager::setModeRestriction(int mode, uid_t user)
-{
- if (::pkgmgr_client_usr_set_restriction_mode(nativeRequestHandle,
- mode,
- user) != PKGMGR_R_OK) {
- throw runtime::Exception("Failed to set package restriction mode");
- }
-}
-
-void PackageManager::unsetModeRestriction(int mode, uid_t user)
-{
- if (::pkgmgr_client_usr_unset_restriction_mode(nativeRequestHandle,
- mode,
- user) != PKGMGR_R_OK) {
- throw runtime::Exception("Failed to unset package mode restriction");
- }
-}
-
-int PackageManager::getModeRestriction(uid_t user)
-{
- int mode;
- if (::pkgmgr_client_usr_get_restriction_mode(nativeRequestHandle,
- &mode,
- user) != PKGMGR_R_OK) {
- throw runtime::Exception("Failed to get package restriction mode");
- }
-
- return mode;
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_PACKMAN_H__
-#define __DPM_PACKMAN_H__
-
-#include <unistd.h>
-#include <sys/types.h>
-
-#include <string>
-#include <vector>
-
-#include <package-manager.h>
-#include <pkgmgr-info.h>
-
-class PackageInfo {
-public:
- PackageInfo(const std::string& pkgid, uid_t uid = 0);
- ~PackageInfo();
-
- std::string getType() const;
- std::string getIcon() const;
- std::string getLabel() const;
- std::string getDescription() const;
-
- std::string getAuthorName() const;
- std::string getAuthorEmail() const;
- std::string getAuthorHref() const;
-
- std::string getVersion() const;
- std::string getApiVersion() const;
- std::string getMainAppId() const;
-
- bool isSystem() const;
- bool isRemovable() const;
- bool isPreload() const;
-
-private:
- uid_t user;
- pkgmgrinfo_pkginfo_h handle;
-};
-
-class PackageManager {
-public:
- void installPackage(const std::string& pkgpath, const uid_t user);
- void uninstallPackage(const std::string& pkgid, const uid_t user);
-
- std::vector<std::string> getPackageList(const uid_t user);
-
- void setEventCallback(pkgmgr_handler callback, void* user_data);
- void unsetEventCallback();
-
- void setModeRestriction(int mode, uid_t user);
- void unsetModeRestriction(int mode, uid_t user);
- int getModeRestriction(uid_t user);
-
- void setPackageRestriction(const std::string& pkgid, int mode, uid_t user);
- void unsetPackageRestriction(const std::string& pkgid, int mode, uid_t user);
- int getPackageRestriction(const std::string& pkgid, uid_t user);
-
- static PackageManager& instance();
-
-private:
- PackageManager();
- ~PackageManager();
-
-private:
- pkgmgr_client *nativeRequestHandle, *nativeListenHandle;
-};
-
-#endif // __DPM_PACKMAN_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <klay/exception.h>
-
-#include "policy-admin.h"
-
-PolicyAdmin::PolicyAdmin(pid_t pid, uid_t user)
-{
- char pkgid[PATH_MAX];
-
- if (aul_app_get_pkgid_bypid_for_uid(pid, pkgid, PATH_MAX, user) != 0) {
- int fd = ::open(std::string("/proc/" + std::to_string(pid) + "/cmdline").c_str(), O_RDONLY);
- if (fd == -1) {
- throw runtime::Exception("Unknown PID");
- }
-
- ssize_t ret, bytes = 0;
- do {
- ret = ::read(fd, &pkgid[bytes], PATH_MAX);
- if (ret != -1) {
- bytes += ret;
- }
- } while ((ret == -1) && (errno == EINTR));
-
- while (::close(fd) == -1 && errno == EINTR);
-
- if (ret == -1) {
- throw runtime::Exception("Failed to get admin info");
- }
-
- pkgid[bytes-1] = '\0';
- }
-
- name = pkgid;
- uid = user;
-}
-
-PolicyAdmin::~PolicyAdmin()
-{
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_POLICY_ADMIN_H__
-#define __DPM_POLICY_ADMIN_H__
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <limits.h>
-
-#include <aul.h>
-
-#include <string>
-#include <vector>
-
-#include <klay/exception.h>
-
-class PolicyAdmin {
-public:
- PolicyAdmin(pid_t pid, uid_t user);
-
- PolicyAdmin(const PolicyAdmin&) = delete;
- PolicyAdmin(PolicyAdmin&&) = default;
-
- ~PolicyAdmin();
-
- PolicyAdmin& operator=(PolicyAdmin&&) = default;
- PolicyAdmin& operator=(const PolicyAdmin&) = delete;
-
- inline std::string getName() const
- {
- return name;
- }
-
- inline uid_t getUid() const
- {
- return uid;
- }
-
- inline std::string getKey() const
- {
- return key;
- }
-
-private:
- std::string name;
- uid_t uid;
- std::string key;
-};
-
-#endif //__DPM_POLICY_ADMIN_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <system_info.h>
-#include <klay/filesystem.h>
-
-#include <klay/dbus/signal.h>
-#include <klay/audit/logger.h>
-
-#include "policy-client.h"
-#include "policy-event-env.h"
-
-#include "logger.h"
-
-#include "client/device-policy-manager.h"
-
-#define RET_ON_FAILURE(cond, ret) \
-{ \
- if (!(cond)) \
- return (ret); \
-}
-
-#define VCONFKEY_DPM_MODE_STATE "db/dpm/mode_state"
-
-namespace {
-
-const std::string SIGNAL_OBJECT_PATH = "/org/tizen/DevicePolicyManger/PIL";
-const std::string SIGNAL_EVENT_INTERFACE = "org.tizen.DevicePolicyManager.PIL.Event";
-
-const std::string POLICY_MANAGER_ADDRESS = "/tmp/.device-policy-manager.sock";
-
-} // namespace
-
-void DevicePolicyClient::maintenanceModeDispatcher(keynode_t *node, void *data)
-{
- int *mode = reinterpret_cast<int *>(data);
- ::vconf_get_bool(VCONFKEY_DPM_MODE_STATE, mode);
-}
-
-DevicePolicyClient::DevicePolicyClient() noexcept :
- maintenanceMode(0), clientAddress(POLICY_MANAGER_ADDRESS)
-{
- mainloop.reset(new ScopedGMainLoop);
- ::vconf_notify_key_changed(VCONFKEY_DPM_MODE_STATE, maintenanceModeDispatcher, reinterpret_cast<void *>(&this->maintenanceMode));
- ::vconf_get_bool(VCONFKEY_DPM_MODE_STATE, &maintenanceMode);
-}
-
-DevicePolicyClient::~DevicePolicyClient() noexcept
-{
- mainloop.reset();
- ::vconf_ignore_key_changed(VCONFKEY_DPM_MODE_STATE, maintenanceModeDispatcher);
-}
-
-int DevicePolicyClient::subscribeSignal(const std::string& name,
- const SignalHandler& handler,
- void* data) noexcept
-{
- int ret = -1;
- try {
- mainloop->dispatch([&]() {
- auto task = [name, handler, data](dbus::Variant variant) {
- char *state = NULL;
- variant.get("(s)", &state);
-
- handler(name.c_str(), state, data);
- };
-
- dbus::signal::Receiver receiver(SIGNAL_OBJECT_PATH, SIGNAL_EVENT_INTERFACE);
- ret = receiver.subscribe(name, std::move(task));
- });
- return ret;
- } catch (runtime::Exception& e) {
- ERROR(DPM, e.what());
- return -1;
- }
-}
-
-int DevicePolicyClient::unsubscribeSignal(int id) noexcept
-{
- try {
- mainloop->dispatch([&]() {
- dbus::signal::Receiver receiver(SIGNAL_OBJECT_PATH, SIGNAL_EVENT_INTERFACE);
- receiver.unsubscribe(id);
- });
-
- return 0;
- } catch (runtime::Exception& e) {
- ERROR(DPM, e.what());
- return -1;
- }
-}
-
-DevicePolicyClient& GetDevicePolicyClient(void* handle)
-{
- return *reinterpret_cast<DevicePolicyClient*>(handle);
-}
-
-EXPORT_API device_policy_manager_h dpm_manager_create(void)
-{
- DevicePolicyClient* client = new(std::nothrow) DevicePolicyClient();
- if (client == nullptr) {
- return NULL;
- }
-
- return reinterpret_cast<device_policy_manager_h>(client);
-}
-
-EXPORT_API int dpm_manager_destroy(device_policy_manager_h handle)
-{
- RET_ON_FAILURE(handle, DPM_ERROR_INVALID_PARAMETER);
-
- delete &GetDevicePolicyClient(handle);
-
- return 0;
-}
-
-EXPORT_API int dpm_add_policy_changed_cb(device_policy_manager_h handle,
- const char* name,
- dpm_policy_changed_cb callback,
- void* user_data,
- int* id)
-{
- RET_ON_FAILURE(handle, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(name, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(callback, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(id, DPM_ERROR_INVALID_PARAMETER);
-
- DevicePolicyClient& client = GetDevicePolicyClient(handle);
- int ret = client.subscribeSignal(name, callback, user_data);
- if (ret < 0) {
- return -1;
- }
-
- *id = ret;
- return 0;
-}
-
-EXPORT_API int dpm_remove_policy_changed_cb(device_policy_manager_h handle, int id)
-{
- RET_ON_FAILURE(handle, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(id >= 0, DPM_ERROR_INVALID_PARAMETER);
-
- DevicePolicyClient& client = GetDevicePolicyClient(handle);
- return client.unsubscribeSignal(id);
-}
-
-EXPORT_API int dpm_add_signal_cb(device_policy_manager_h handle, const char* signal,
- dpm_signal_cb callback, void* user_data, int* id)
-{
- RET_ON_FAILURE(handle, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(signal, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(callback, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(id, DPM_ERROR_INVALID_PARAMETER);
-
- DevicePolicyClient& context = GetDevicePolicyClient(handle);
- int ret = context.subscribeSignal(signal, callback, user_data);
- if (ret < 0) {
- return -1;
- }
-
- *id = ret;
- return 0;
-}
-
-EXPORT_API int dpm_remove_signal_cb(device_policy_manager_h handle, int id)
-{
- RET_ON_FAILURE(handle, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(id >= 0, DPM_ERROR_INVALID_PARAMETER);
-
- DevicePolicyClient& context = GetDevicePolicyClient(handle);
- return context.unsubscribeSignal(id);
-}
-
-EXPORT_API int dpm_admin_register_client(device_policy_manager_h handle, const char* name, uid_t uid)
-{
- RET_ON_FAILURE(handle, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(name, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(uid, DPM_ERROR_INVALID_PARAMETER);
-
- DevicePolicyClient &client = GetDevicePolicyClient(handle);
-
- try {
- Status<int> status { -1 };
- status = client.methodCallForce<int>("DevicePolicyManager::enroll", name, uid);
- return status.get();
- } catch (...) {
- return -1;
- }
-}
-
-EXPORT_API int dpm_admin_deregister_client(device_policy_manager_h handle, const char* name, uid_t uid)
-{
- RET_ON_FAILURE(handle, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(name, DPM_ERROR_INVALID_PARAMETER);
- RET_ON_FAILURE(uid, DPM_ERROR_INVALID_PARAMETER);
-
- DevicePolicyClient &client = GetDevicePolicyClient(handle);
-
- try {
- Status<int> status { -1 };
- status = client.methodCallForce<int>("DevicePolicyManager::disenroll", name, uid);
- return status.get();
- } catch (...) {
- return -1;
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __POLICY_CLIENT_H__
-#define __POLICY_CLIENT_H__
-
-#include <string>
-#include <memory>
-#include <functional>
-#include <cerrno>
-#include <vconf.h>
-
-#include <klay/rmi/method.h>
-#include <klay/gmainloop.h>
-
-#include "status.h"
-
-typedef std::function<void(const char*, const char*, void*)> SignalHandler;
-
-class DevicePolicyClient {
-public:
- DevicePolicyClient() noexcept;
- ~DevicePolicyClient() noexcept;
-
- int subscribeSignal(const std::string& name,
- const SignalHandler& handler,
- void* data) noexcept;
- int unsubscribeSignal(int subscriberId) noexcept;
-
- template<typename Type, typename... Args>
- Type methodCall(const std::string& method, Args&&... args)
- {
- if (!maintenanceMode) {
- errno = EPROTONOSUPPORT;
- return Type();
- }
-
- rmi::Connection conn(clientAddress);
- Type ret = rmi::RemoteMethod<>::invoke<Type, Args...>(conn, method, std::forward<Args>(args)...);
- return ret;
- }
-
- template<typename Type, typename... Args>
- Type methodCallForce(const std::string& method, Args&&... args)
- {
- rmi::Connection conn(clientAddress);
- Type ret = rmi::RemoteMethod<>::invoke<Type, Args...>(conn, method, std::forward<Args>(args)...);
- return ret;
- }
-
-private:
- static void maintenanceModeDispatcher(keynode_t *node, void *data);
-private:
- int maintenanceMode;
- std::string clientAddress;
- std::unique_ptr<ScopedGMainLoop> mainloop;
-};
-
-DevicePolicyClient& GetDevicePolicyClient(void* handle);
-
-#endif //__POLICY_CLIENT_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DEVICE_POLICY_CONTEXT__
-#define __DEVICE_POLICY_CONTEXT__
-
-#include <klay/rmi/service.h>
-
-using PolicyControlContext = rmi::Service;
-
-#endif //!__DEVICE_POLICY_CONTEXT__
+++ /dev/null
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_POLICY_EVENT_ENV_H__
-#define __DPM_POLICY_EVENT_ENV_H__
-
-#include <string>
-
-const std::string PIL_MANIFEST_PATH = EVENT_CONFIGURE_DIR "/manifest";
-const std::string PIL_OBJECT_PATH = "/org/tizen/DevicePolicyManger/PIL";
-const std::string PIL_EVENT_INTERFACE = "org.tizen.DevicePolicyManager.PIL.Event";
-
-#endif //__DPM_POLICY_EVENT_ENV_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "policy-event.h"
-#include "policy-event-env.h"
-#include "logger.h"
-
-#include <klay/dbus/signal.h>
-#include <klay/dbus/introspection.h>
-#include <klay/exception.h>
-
-
-void PolicyEventNotifier::init(void) noexcept
-{
- try {
- auto manifest = dbus::Introspection::createXmlDataFromFile(PIL_MANIFEST_PATH);
- dbus::Introspection is(manifest);
- is.addInterface(PIL_EVENT_INTERFACE);
-
- manifest = is.getXmlData();
- dbus::Introspection::writeXmlDataToFile(PIL_MANIFEST_PATH, manifest);
-
- dbus::Connection& conn = dbus::Connection::getSystem();
- conn.registerObject(PIL_OBJECT_PATH, manifest, nullptr, nullptr);
- DEBUG(DPM, "Success to init event-notifier.");
- } catch(runtime::Exception& e) {
- ERROR(DPM, e.what());
- }
-}
-
-void PolicyEventNotifier::create(const std::string& name) noexcept
-{
- try {
- dbus::signal::Sender sender(PIL_OBJECT_PATH, PIL_EVENT_INTERFACE);
- sender.addSignal(PIL_MANIFEST_PATH, name, "(s)");
- DEBUG(DPM, "Success to create new event: " << name);
- } catch(runtime::Exception& e) {
- ERROR(DPM, e.what() << ", name: " << name);
- }
-}
-
-void PolicyEventNotifier::emit(const std::string& name, const std::string& state) noexcept
-{
- try {
- dbus::signal::Sender sender(PIL_OBJECT_PATH, PIL_EVENT_INTERFACE);
- sender.emit(name, "(s)", state.c_str());
- DEBUG(DPM, "Event occured name: " << name << ", state: " << state);
- } catch(runtime::Exception& e) {
- ERROR(DPM, e.what() << ", name: " << name << ", state: " << state);
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_POLICY_EVENT_H__
-#define __DPM_POLICY_EVENT_H__
-
-#include <string>
-
-class PolicyEventNotifier {
-public:
- static void init(void) noexcept;
- static void create(const std::string& name) noexcept;
- static void emit(const std::string& name, const std::string& state) noexcept;
-};
-
-#endif //__DPM_POLICY_EVENT_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "policy-storage.h"
-
-Observerable PolicyStorage::observers;
-PolicyStorageBackend *PolicyStorage::backend = nullptr;
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_POLICY_STORAGE_H__
-#define __DPM_POLICY_STORAGE_H__
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <string>
-#include <vector>
-
-#include "observer.h"
-
-class DataSetInt {
-public:
- DataSetInt() : value(0) {}
- DataSetInt(int v) : value(v) {}
- virtual ~DataSetInt() {}
-
- DataSetInt& operator=(int val) {
- value = val;
- return *this;
- }
-
- operator int() const {
- return value;
- }
-
- bool operator==(const DataSetInt& rhs) const {
- return value == rhs.value;
- }
-
- bool operator!=(const DataSetInt& rhs) const {
- return value != rhs.value;
- }
-
- virtual bool strictize(const DataSetInt& rhs) {
- if (rhs.value < value) {
- value = rhs.value;
- return true;
- }
-
- return false;
- }
-
- int value;
-};
-
-class PolicyStorageBackend {
-public:
- PolicyStorageBackend() {}
- virtual ~PolicyStorageBackend() {}
-
- virtual int define(const std::string& name, DataSetInt& value) = 0;
- virtual bool strictize(int id, DataSetInt& value, uid_t domain = 0) = 0;
- virtual void update(int id, const std::string& admin, uid_t domain, const DataSetInt& value) = 0;
- virtual int enroll(const std::string& name, uid_t domain) = 0;
- virtual int unenroll(const std::string& name, uid_t domain) = 0;
- virtual std::vector<uid_t> fetchDomains() = 0;
-};
-
-class PolicyStorage {
-public:
- template<typename T>
- static int define(const std::string& name, T& value) {
- return backend->define(name, value);
- }
-
- template<typename T>
- static bool strictize(int id, T& value, uid_t domain = 0) {
- return backend->strictize(id, value, domain);
- }
-
- template<typename T>
- static void update(int id, const std::string& admin, uid_t domain, const T& value) {
- backend->update(id, admin, domain, value);
- }
-
- static void setBackend(PolicyStorageBackend *pimpl) {
- backend = pimpl;
- }
-
- static void subscribeEvent(Observer *observer) {
- observers.attach(observer);
- }
-
- static int enroll(const std::string& name, uid_t domain) {
- return backend->enroll(name, domain);
- }
-
- static int unenroll(const std::string& name, uid_t domain) {
- int rc = backend->unenroll(name, domain);
- if (rc == 0) {
- observers.notify({domain});
- }
-
- return rc;
- }
-
- static void notify() {
- std::vector<uid_t> domains = backend->fetchDomains();
- for (auto domid : domains) {
- observers.notify({domid});
- }
- }
-
- static std::vector<uid_t> fetchDomains() {
- return backend->fetchDomains();
- }
-
-private:
- static Observerable observers;
- static PolicyStorageBackend *backend;
-};
-
-#endif //__DPM_POLICY_STORAGE_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <fstream>
-#include <algorithm>
-
-#include <klay/exception.h>
-#include <klay/audit/logger.h>
-
-#include "preference.h"
-
-namespace {
-
-std::string& trimLeadingWhiteSpaces(std::string& s)
-{
- size_t startpos = s.find_first_not_of(" \t\r\n\v\f");
- if (std::string::npos != startpos) {
- s = s.substr(startpos);
- }
-
- return s;
-}
-
-std::string& trimTrailingWhiteSpaces(std::string& s)
-{
- size_t endpos = s.find_last_not_of(" \t\r\n\v\f");
- if (std::string::npos != endpos) {
- s = s.substr(0, endpos + 1);
- }
-
- return s;
-}
-
-std::unordered_map<std::string, std::string> defaultPreferences = {
- {"locktype", "org.tizen.setting-password"},
- {"syspopup", "org.tizen.dpm-syspopup"}
-};
-
-} // namespace
-
-PreferencesStore::PreferencesStore()
-{
-}
-
-PreferencesStore& PreferencesStore::getInstance()
-{
- static PreferencesStore __instance__;
- return __instance__;
-}
-
-std::string PreferencesStore::get(const std::string& key)
-{
- type::const_iterator it = keyValueMap.find(key);
- if (it != keyValueMap.end())
- return it->second;
-
- return "";
-}
-
-void PreferencesStore::load(const std::string& filename)
-{
- std::ifstream source;
- source.open(filename);
-
- if (!source) {
- keyValueMap = defaultPreferences;
- return;
- }
-
- for (std::string line; std::getline(source, line);) {
- size_t startpos = line.find_first_not_of(" \t\r\n\v\f");
- if (startpos == std::string::npos) {
- continue;
- } else {
- line = line.substr(startpos);
- }
-
- switch (line[0]) {
- case ';':
- case '#':
- break;
- default:
- size_t end = line.find_first_of("=:");
- if (end == std::string::npos) {
- throw runtime::Exception("Invalid syntax");
- }
- std::string name = line.substr(0, end);
- std::string value = line.substr(end + 1);
-
- trimLeadingWhiteSpaces(trimTrailingWhiteSpaces(name));
- trimLeadingWhiteSpaces(trimTrailingWhiteSpaces(value));
- keyValueMap[name] = value;
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_PREFERENCES_H__
-#define __DPM_PREFERENCES_H__
-
-#include <string>
-#include <unordered_map>
-
-#include <klay/reflection.h>
-
-class PreferencesStore {
-public:
- typedef std::unordered_map<std::string, std::string> type;
-
- PreferencesStore(const std::string& pathname);
- std::string get(const std::string& key);
- void load(const std::string& filename);
-
- static PreferencesStore& getInstance();
-
-private:
- PreferencesStore();
-
-private:
- std::unordered_map<std::string, std::string> keyValueMap;
-};
-
-#endif //__DPM_PREFERENCES_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __STATUS_H__
-#define __STATUS_H__
-
-#include <cerrno>
-#include <utility>
-
-template<typename Type>
-class Status {
-public:
- Status() = delete;
- Status(Type&& defaultValue) : value(std::forward<Type>(defaultValue))
- {
- errno = 0;
- }
-
- void operator=(Type&& newValue)
- {
- if (errno == 0)
- value = newValue;
- }
-
- Type get() const
- {
- return value;
- }
-
-private:
- Type value;
-};
-
-#endif //!__STATUS_H__
+++ /dev/null
-# Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
-#
-# 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.
-#
-
-ADD_POLICYD_LIBRARY(server server.cpp
- sql-backend.cpp
- plugin.cpp)
-
-FILE(GLOB SERVER_TESTS "tests/*.cpp")
-ADD_POLICYD_TEST(${SERVER_TESTS})
+++ /dev/null
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <string>
-
-namespace schema {
-
-struct Admin {
- int id;
- std::string pkg;
- int uid;
- std::string key;
- int removable;
-};
-
-struct ManagedPolicy {
- int id;
- int aid;
- int pid;
- int value;
-};
-
-struct PolicyDefinition {
- int id;
- int scope;
- std::string name;
- int ivalue;
-};
-
-} // namespace schema
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <fcntl.h>
-#include <unistd.h>
-#include <getopt.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <stdexcept>
-#include <memory>
-
-#include <klay/gmainloop.h>
-
-#include "pil/logger.h"
-
-#include "server.h"
-
-namespace {
-
-void usage(const std::string& prog)
-{
- std::cout << "Usage: " << prog << "\n"
- << "Options: \n"
- << " -o --on-demand timeout : Start as on-demand service\n"
- << " Service will be unloaded after timeout\n"
- << std::endl;
-}
-
-void signalHandler(int signum)
-{
- ERROR(DPM, "Interrupted");
- exit(0);
-}
-
-} // namespace
-int main(int argc, char *argv[])
-{
- struct option options[] = {
- {"on-demand", required_argument, 0, 'o'},
- {"help", no_argument, 0, 'h'},
- {0, 0, 0, 0 }
- };
-
- ::signal(SIGINT, signalHandler);
-
- bool ondemand = false;
- int index, opt, timeout = -1;
- while ((opt = getopt_long(argc, argv, "o:h", options, &index)) != -1) {
- switch (opt) {
- case 'o':
- ondemand = true;
- timeout = ::atoi(optarg);
- break;
- case 'h':
- usage(argv[0]);
- return EXIT_SUCCESS;
- default:
- usage(argv[0]);
- return EXIT_FAILURE;
- }
- }
-
- ::umask(0);
-
- try {
- ScopedGMainLoop gmainloop;
- DevicePolicyManager manager;
-
- auto result = manager.loadPolicyPlugins();
- if (result.first == 0)
- throw runtime::Exception("There are no available policy plugins.");
- manager.applyPolicies();
-
- manager.run(ondemand, timeout);
- } catch (std::exception &e) {
- ERROR(DPM, e.what());
- return EXIT_FAILURE;
- }
-
- return EXIT_SUCCESS;
-}
+++ /dev/null
-#include <dlfcn.h>
-
-#include <string>
-#include <iostream>
-#include <mutex>
-#include <thread>
-#include <exception>
-#include <memory>
-#include <unordered_map>
-
-#include "pil/logger.h"
-
-#include "plugin.h"
-
-Plugin::Plugin() :
- handle(nullptr)
-{
-}
-
-Plugin::~Plugin()
-{
-}
-
-int Plugin::load(const std::string& path, int flags)
-{
- handle = ::dlopen(path.c_str(), flags);
- if (!handle) {
- return -1;
- }
-
- return 0;
-}
-
-void Plugin::unload()
-{
- if (handle) {
- dlclose(handle);
- handle = nullptr;
- }
-}
-
-void* Plugin::lookupSymbol(const std::string& name)
-{
- void *result = nullptr;
- if (handle) {
- result = ::dlsym(handle, name.c_str());
- }
- return result;
-}
-
-PolicyLoader::PolicyLoader(const std::string& base) :
- basename(base + "/")
-{
-}
-
-std::shared_ptr<AbstractPolicyProvider> PolicyLoader::instantiate(const std::string& name)
-{
- PluginMap::iterator iter = pluginMap.find(name);
- if (iter == pluginMap.end()) {
- Plugin plguin;
- if (plguin.load(basename + name, RTLD_LAZY | RTLD_LOCAL) != 0) {
- ERROR(DPM, "Failed to load \"" << name << "\"");
- return nullptr;
- }
-
- DEBUG(DPM, "Loading plugin: " << name << " ... ");
- PolicyFactory factory = (PolicyFactory)(plguin.lookupSymbol("PolicyFactory"));
- if (factory == nullptr) {
- ERROR(DPM, dlerror());
- return NULL;
- }
-
- pluginMap[name] = std::move(plguin);
-
- auto provider = (*factory)();
- return std::shared_ptr<AbstractPolicyProvider>(provider);
- }
-
- return nullptr;
-}
+++ /dev/null
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <string>
-#include <exception>
-#include <unordered_map>
-#include <memory>
-
-#include "pil/policy-model.h"
-
-class Plugin {
-public:
- Plugin();
- virtual ~Plugin();
-
- int load(const std::string& path, int flags);
- void unload();
- void* lookupSymbol(const std::string& name);
-
- bool isLoaded() const
- {
- return handle != 0;
- }
-
- bool hasSymbol(const std::string& name)
- {
- return lookupSymbol(name) != 0;
- }
-
-private:
- void* handle;
-};
-
-class PolicyLoader {
-public:
- typedef AbstractPolicyProvider* (*PolicyFactory)();
-
- PolicyLoader(const std::string& base);
- std::shared_ptr<AbstractPolicyProvider> instantiate(const std::string& name);
-
-private:
- typedef std::unordered_map<std::string, Plugin> PluginMap;
-
- std::string basename;
- PluginMap pluginMap;
-};
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <sys/types.h>
-#include <sys/stat.h>
-
-#include <functional>
-
-#include <cynara-client.h>
-#include <cynara-session.h>
-
-#include <klay/exception.h>
-#include <klay/filesystem.h>
-
-#include "pil/policy-event.h"
-#include "pil/logger.h"
-
-#include "server.h"
-#include "sql-backend.h"
-
-#include <vconf.h>
-
-#define VCONFKEY_DPM_MODE_STATE "db/dpm/mode_state"
-
-using namespace std::placeholders;
-
-namespace {
-const std::string PolicyStoragePath = "/opt/dbspace/.dpm.db";
-const std::string PolicyManagerSocket = "/tmp/.device-policy-manager.sock";
-const std::string PolicyPluginBase = PLUGIN_INSTALL_DIR;
-const std::string BootCompleted = "/tmp/.dpm-bootCompleted";
-const std::string BootString = "bootCompleted";
-
-} // namespace
-
-DevicePolicyManager::DevicePolicyManager() :
- rmi::Service(PolicyManagerSocket)
-{
- initPolicyStorage();
-
- PolicyEventNotifier::init();
-
- setPrivilegeChecker(std::bind(&DevicePolicyManager::checkPeerPrivilege, this, _1, _2));
- setNewConnectionCallback(std::bind(&DevicePolicyManager::checkNewConnection, this, _1));
- setCloseConnectionCallback(std::bind(&DevicePolicyManager::checkCloseConnection, this, _1));
-
- expose(this, "", (int)(DevicePolicyManager::enroll)(std::string, uid_t));
- expose(this, "", (int)(DevicePolicyManager::disenroll)(std::string, uid_t));
-
- bootCompletedFile = runtime::File(BootCompleted);
- bootCompletedFile.create(0644);
- bootCompletedFile.close();
-}
-
-DevicePolicyManager::~DevicePolicyManager()
-{
- if (policyApplyThread.joinable())
- policyApplyThread.join();
-
- try {
- if (bootCompletedFile.exists()) {
- bootCompletedFile.remove();
- }
- } catch (std::exception &e) {
- ERROR(DPM, e.what());
- }
-}
-
-std::pair<int, int> DevicePolicyManager::loadPolicyPlugins()
-{
- runtime::File folder(PolicyPluginBase);
- if (!folder.exists() || !folder.isDirectory())
- throw runtime::Exception("No exist plugin directories.");
-
- policyLoader.reset(new PolicyLoader(PolicyPluginBase));
-
- int passed = 0, failed = 0;
- runtime::DirectoryIterator iter(PolicyPluginBase), end;
- while (iter != end) {
- if (!iter->isFile()) {
- ++iter;
- continue;
- }
-
- auto instance = policyLoader->instantiate(iter->getName());
- if (instance == nullptr) {
- ERROR(DPM, "Failed to instantiate.: " << iter->getName());
- ++failed;
- ++iter;
- continue;
- }
-
- providerList.emplace_back(std::move(instance));
- ++passed;
- ++iter;
- }
- DEBUG(DPM, "Finished load policy-plugins: " <<
- "passed: " << passed << ", " <<
- "failed: " << failed);
-
- return std::make_pair(passed, failed);
-}
-
-void DevicePolicyManager::initPolicyStorage()
-{
- SQLBackend *backend = new SQLBackend();
-
- if (backend->open(PolicyStoragePath)) {
- throw runtime::Exception("Policy storage I/O error");
- }
-
- PolicyStorage::setBackend(backend);
- DEBUG(DPM, "Success to init policy-storage.");
-
- int mode = 0;
- if(loadManagedClients() > 0) {
- mode = 1;
- }
-
- if(::vconf_set_bool(VCONFKEY_DPM_MODE_STATE, mode) != 0) {
- DEBUG(DPM, "VCONFKEY_DPM_MODE_STATE set failed.");
- }
-}
-
-void DevicePolicyManager::applyPolicies()
-{
- policyApplyThread = std::thread(
- [this]() {
- PolicyStorage::notify();
-
- if (bootCompletedFile.exists()) {
- bootCompletedFile.open(O_WRONLY);
- bootCompletedFile.lock();
- bootCompletedFile.write(BootString.c_str(), BootString.length());
- bootCompletedFile.unlock();
- bootCompletedFile.close();
- }
- });
-}
-
-bool DevicePolicyManager::getMaintenanceMode()
-{
- return loadManagedClients() > 0 ? true : false;
-}
-
-void DevicePolicyManager::run(int activation, int timeout)
-{
- do {
- start(activation, timeout);
- timeout = -1;
- } while (getMaintenanceMode());
-}
-
-int DevicePolicyManager::enroll(const std::string& name, uid_t uid)
-{
- int ret = PolicyStorage::enroll(name, uid);
- if(ret == 0) {
- if(::vconf_set_bool(VCONFKEY_DPM_MODE_STATE, 1) != 0) {
- DEBUG(DPM, "VCONFKEY_DPM_MODE_STATE set failed.");
- }
- }
- return ret;
-}
-
-int DevicePolicyManager::disenroll(const std::string& name, uid_t uid)
-{
- int ret = PolicyStorage::unenroll(name, uid);
- if(ret == 0) {
- if(loadManagedClients() == 0) {
- if(::vconf_set_bool(VCONFKEY_DPM_MODE_STATE, 0) != 0) {
- DEBUG(DPM, "VCONFKEY_DPM_MODE_STATE set failed.");
- }
- stop();
- }
- }
- return ret;
-}
-
-int DevicePolicyManager::loadManagedClients()
-{
- return PolicyStorage::fetchDomains().size();
-}
-
-bool DevicePolicyManager::checkPeerPrivilege(const rmi::Credentials& cred, const std::string& privilege)
-{
- if (!privilege.empty()) {
- cynara *p_cynara;
-
- if (::cynara_initialize(&p_cynara, NULL) != CYNARA_API_SUCCESS) {
- ERROR(DPM, "Failure in cynara API");
- return false;
- }
-
- if (::cynara_check(p_cynara, cred.security.c_str(), "",
- std::to_string(cred.uid).c_str(),
- privilege.c_str()) != CYNARA_API_ACCESS_ALLOWED) {
- ::cynara_finish(p_cynara);
- ERROR(DPM, "Access denied: " + cred.security + " : " + privilege);
- return false;
- }
-
- ::cynara_finish(p_cynara);
- }
-
- return true;
-}
-
-bool DevicePolicyManager::checkNewConnection(const rmi::Connection& connection)
-{
- auto pid = (connection.getPeerCredentials()).pid;
- if(clientRegistry.count(pid)) {
- if(clientRegistry[pid] >= MAX_CLIENT_CONNECTIONS) {
- return false;
- } else {
- clientRegistry[pid]++;
- }
- } else {
- clientRegistry.emplace(pid, 1);
- }
-
- return true;
-}
-
-bool DevicePolicyManager::checkCloseConnection(const rmi::Connection& connection)
-{
- auto pid = (connection.getPeerCredentials()).pid;
- if(clientRegistry.count(pid)) {
- clientRegistry[pid]--;
- if(clientRegistry[pid] == 0) {
- clientRegistry.erase(pid);
- }
- }
-
- return true;
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DEVICE_POLICY_MANAGER_H__
-#define __DEVICE_POLICY_MANAGER_H__
-
-#include <string>
-#include <memory>
-#include <vector>
-#include <utility>
-
-#include <vconf.h>
-
-#include <klay/filesystem.h>
-#include <klay/file-descriptor.h>
-#include <klay/rmi/service.h>
-
-#include "plugin.h"
-#include "sql-backend.h"
-
-#define MAX_CLIENT_CONNECTIONS 10
-
-class DevicePolicyManager : public rmi::Service {
-public:
- DevicePolicyManager();
- ~DevicePolicyManager();
-
- int loadManagedClients();
- std::pair<int, int> loadPolicyPlugins();
- void applyPolicies();
-
- void run(int activation, int timeout);
-
- // Temporary debug method
- inline std::vector<std::shared_ptr<AbstractPolicyProvider>>& getProviderList()
- {
- return this->providerList;
- }
-
-private:
- void initPolicyStorage();
-
- int enroll(const std::string& name, uid_t uid);
- int disenroll(const std::string& name, uid_t uid);
-
- bool checkPeerPrivilege(const rmi::Credentials& cred, const std::string& privilege);
- bool checkNewConnection(const rmi::Connection& connection);
- bool checkCloseConnection(const rmi::Connection& connection);
-
- bool getMaintenanceMode();
-
-private:
- typedef std::unordered_map<int, int> ClientRegistry;
- ClientRegistry clientRegistry;
-
- std::vector<std::shared_ptr<AbstractPolicyProvider>> providerList;
- std::unique_ptr<PolicyLoader> policyLoader;
- std::thread policyApplyThread;
-
- runtime::File bootCompletedFile;
-};
-
-#endif //__DEVICE_POLICY_MANAGER_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <klay/exception.h>
-#include <klay/db/query-builder.h>
-
-#include "pil/logger.h"
-
-#include "sql-backend.h"
-#include "db-schema.h"
-
-using namespace query_builder;
-using namespace schema;
-
-namespace {
-
-auto admin = make_table("admin",
- make_column("id", &Admin::id),
- make_column("pkg", &Admin::pkg),
- make_column("uid", &Admin::uid),
- make_column("key", &Admin::key),
- make_column("removable", &Admin::removable));
-
-auto managedPolicy = make_table("managed_policy",
- make_column("id", &ManagedPolicy::id),
- make_column("aid", &ManagedPolicy::aid),
- make_column("pid", &ManagedPolicy::pid),
- make_column("value", &ManagedPolicy::value));
-
-auto policyDefinition = make_table("policy_definition",
- make_column("id", &PolicyDefinition::id),
- make_column("scope", &PolicyDefinition::scope),
- make_column("name", &PolicyDefinition::name),
- make_column("ivalue", &PolicyDefinition::ivalue));
-
-auto dpm = make_database("dpm", admin, managedPolicy, policyDefinition);
-
-} // anonymous namespace
-
-int SQLBackend::open(const std::string& path)
-{
- try {
- database.reset(new database::Connection(path, database::Connection::ReadWrite |
- database::Connection::Create));
- return 0;
- } catch (runtime::Exception& e) {
- ERROR(DPM, e.what());
- }
-
- return -1;
-}
-
-void SQLBackend::close()
-{
- database.reset();
-}
-
-int SQLBackend::define(const std::string& name, DataSetInt& value)
-{
- int id = -1;
- std::string query = policyDefinition.select(&PolicyDefinition::id,
- &PolicyDefinition::ivalue)
- .where(expr(&PolicyDefinition::name) == name);
- database::Statement stmt(*database, query);
-
- stmt.bind(1, name);
- if (stmt.step()) {
- id = stmt.getColumn(0);
- value = stmt.getColumn(1);
- }
-
- return id;
-}
-
-bool SQLBackend::strictize(int id, DataSetInt& value, uid_t domain)
-{
- bool updated = false;
- std::string query = dpm.select(&ManagedPolicy::value)
- .join<PolicyDefinition>()
- .on(expr(&ManagedPolicy::pid) == expr(&PolicyDefinition::id))
- .join<Admin>()
- .on(expr(&ManagedPolicy::aid) == expr(&Admin::id))
- .where(expr(&ManagedPolicy::pid) == id);
-
- if (domain) {
- query += "AND admin.uid = ? ";
- }
-
- database::Statement stmt(*database, query);
- stmt.bind(1, id);
- if (domain) {
- stmt.bind(2, static_cast<int>(domain));
- }
-
- while (stmt.step()) {
- updated = value.strictize(DataSetInt(stmt.getColumn(0)));
- }
-
- return updated;
-}
-
-void SQLBackend::update(int id, const std::string& name, uid_t domain, const DataSetInt& value)
-{
- int uid = static_cast<int>(domain);
- std::string selectQuery = admin.select(&Admin::id).where(expr(&Admin::pkg) == name &&
- expr(&Admin::uid) == uid);
- database::Statement stmt0(*database, selectQuery);
- stmt0.bind(1, name);
- stmt0.bind(2, uid);
- if (!stmt0.step()) {
- throw runtime::Exception("Unknown device admin client: " + name);
- }
-
- int aid = stmt0.getColumn(0);
-
- std::string updateQuery = managedPolicy.update(&ManagedPolicy::value)
- .where(expr(&ManagedPolicy::pid) == id &&
- expr(&ManagedPolicy::aid) == aid);
- database::Statement stmt(*database, updateQuery);
- stmt.bind(1, value);
- stmt.bind(2, id);
- stmt.bind(3, aid);
- if (!stmt.exec()) {
- throw runtime::Exception("Failed to update policy");
- }
-}
-
-int SQLBackend::enroll(const std::string& name, uid_t domain)
-{
- int uid = static_cast<int>(domain);
- std::string selectQuery = admin.selectAll().where(expr(&Admin::pkg) == name &&
- expr(&Admin::uid) == uid);
- database::Statement stmt0(*database, selectQuery);
- stmt0.bind(1, name);
- stmt0.bind(2, uid);
- if (stmt0.step())
- return 0;
-
- std::string key = "Not supported";
-
- std::string insertQuery = admin.insert(&Admin::pkg, &Admin::uid,
- &Admin::key, &Admin::removable);
- database::Statement stmt(*database, insertQuery);
- stmt.bind(1, name);
- stmt.bind(2, uid);
- stmt.bind(3, key);
- stmt.bind(4, true);
- if (!stmt.exec())
- return -1;
-
- return 0;
-}
-
-int SQLBackend::unenroll(const std::string& name, uid_t domain)
-{
- int uid = static_cast<int>(domain);
- std::string query = admin.remove().where(expr(&Admin::pkg) == name &&
- expr(&Admin::uid) == uid);
- database::Statement stmt(*database, query);
- stmt.bind(1, name);
- stmt.bind(2, uid);
- if (!stmt.exec())
- return -1;
-
- return 0;
-}
-
-std::vector<uid_t> SQLBackend::fetchDomains()
-{
- std::vector<uid_t> managedDomains;
- std::string query = admin.select(distinct(&Admin::uid));
- database::Statement stmt(*database, query);
- while (stmt.step()) {
- managedDomains.push_back(stmt.getColumn(0).getInt());
- }
-
- return managedDomains;
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_SQL_BACKEND_H__
-#define __DPM_SQL_BACKEND_H__
-#include <memory>
-#include <vector>
-
-#include <klay/exception.h>
-#include <klay/db/connection.h>
-#include <klay/db/statement.h>
-#include <klay/db/column.h>
-
-#include "pil/policy-storage.h"
-
-class SQLBackend : public PolicyStorageBackend {
-public:
- int open(const std::string& location);
- void close();
-
- int define(const std::string& name, DataSetInt& value);
-
- bool strictize(int id, DataSetInt& value, uid_t domain);
-
- void update(int id, const std::string& name, uid_t domain, const DataSetInt& value);
-
- int enroll(const std::string& name, uid_t domain);
- int unenroll(const std::string& name, uid_t domain);
-
- std::vector<uid_t> fetchDomains();
-
-private:
- std::shared_ptr<database::Connection> database;
-};
-
-#endif //__DPM_SQL_BACKEND_H__
+++ /dev/null
-# Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
-#
-# 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
-#
-
-SET(DPM_TEST_TARGET "dpm-test")
-SET(DPM_TEST_SRCS main.cpp
- test-pil.cpp
- test-server.cpp
- test-query.cpp)
-
-PKG_CHECK_MODULES(${DPM_TEST_TARGET}_DEP REQUIRED klay glib-2.0 gio-2.0 vconf aul)
-
-INCLUDE_DIRECTORIES(SYSTEM ${${DPM_TEST_TARGET}_DEP_INCLUDE_DIRS}
- ${CMAKE_SOURCE_DIR}/src)
-
-ADD_EXECUTABLE(${DPM_TEST_TARGET} ${DPM_TEST_SRCS})
-
-TARGET_LINK_LIBRARIES(${DPM_TEST_TARGET} ${${DPM_TEST_TARGET}_DEP_LIBRARIES}
- dpm-server
- dpm-pil)
-
-SET_TARGET_PROPERTIES(${DPM_TEST_TARGET} PROPERTIES COMPILE_FLAGS "-fPIE")
-SET_TARGET_PROPERTIES(${DPM_TEST_TARGET} PROPERTIES LINK_FLAGS "-pie")
-
-INSTALL(TARGETS ${DPM_TEST_TARGET}
- DESTINATION bin
- PERMISSIONS OWNER_READ
- OWNER_WRITE
- OWNER_EXECUTE
- GROUP_READ
- GROUP_EXECUTE
- WORLD_READ
- WORLD_EXECUTE)
+++ /dev/null
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <klay/testbench.h>
-
-int main(int /*argc*/, char** /*argv*/)
-{
- testbench::Testbench::runAllTestSuites();
-
- return 0;
-}
+++ /dev/null
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "pil/policy-event.h"
-#include "pil/policy-client.h"
-
-#include <klay/testbench.h>
-
-#include <klay/gmainloop.h>
-
-#include <string>
-#include <memory>
-#include <thread>
-#include <chrono>
-
-namespace {
-
-const std::string TEST_PIL_EVENT_NAME = "EVENT_NAME";
-const std::string TEST_PIL_EVENT_STATE = "EVENT_STATE";
-std::string TEST_PIL_EVENT_DATA = "EVENT_DATA";
-
-} // anonymous namespace
-
-TESTCASE(PIL_EVENT)
-{
- ScopedGMainLoop mainloop;
-
- //TODO: handle should be created by dpm_manager_create()
- std::unique_ptr<DevicePolicyClient> handle(
- []() -> DevicePolicyClient* {
- DevicePolicyClient* client = new DevicePolicyClient();
-
- if (client == nullptr)
- return nullptr;
-
- return client;
- }());
- TEST_EXPECT(true, handle != nullptr);
-
- DevicePolicyClient &client = GetDevicePolicyClient(static_cast<void*>(handle.get()));
-
- bool isCalled = false;
- auto onEvent = [&isCalled](const char* name, const char* state, void* data) {
- isCalled = true;
- auto receivedData = static_cast<std::string*>(data);
- std::cout << "Signal caught. name = " << name << ", state : " << state
- << ", data : " << *receivedData << std::endl;
- };
-
- client.subscribeSignal(TEST_PIL_EVENT_NAME, onEvent,
- static_cast<void*>(&TEST_PIL_EVENT_DATA));
-
- PolicyEventNotifier::create(TEST_PIL_EVENT_NAME);
- PolicyEventNotifier::emit(TEST_PIL_EVENT_NAME, TEST_PIL_EVENT_STATE);
-
- std::this_thread::sleep_for(std::chrono::seconds(1));
- TEST_EXPECT(true, isCalled);
-}
+++ /dev/null
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "server/db-schema.h"
-
-#include <klay/testbench.h>
-
-#include <klay/db/query-builder.h>
-
-using namespace query_builder;
-using namespace schema;
-
-namespace {
-
-auto admin = make_table("admin",
- make_column("id", &Admin::id),
- make_column("pkg", &Admin::pkg),
- make_column("uid", &Admin::uid),
- make_column("key", &Admin::key),
- make_column("removable", &Admin::removable));
-
-auto managedPolicy = make_table("managed_policy",
- make_column("id", &ManagedPolicy::id),
- make_column("aid", &ManagedPolicy::aid),
- make_column("pid", &ManagedPolicy::pid),
- make_column("value", &ManagedPolicy::value));
-
-auto policyDefinition = make_table("policy_definition",
- make_column("id", &PolicyDefinition::id),
- make_column("scope", &PolicyDefinition::scope),
- make_column("name", &PolicyDefinition::name),
- make_column("ivalue", &PolicyDefinition::ivalue));
-
-auto dpm = make_database("dpm", admin, managedPolicy, policyDefinition);
-
-} // anonymous namespace
-
-TESTCASE(DEFINE)
-{
- std::string name;
- std::string query = policyDefinition.select(&PolicyDefinition::id,
- &PolicyDefinition::ivalue)
- .where(expr(&PolicyDefinition::name) == name);
-
- std::string expect = "SELECT id, ivalue FROM policy_definition WHERE name = ?";
-
- TEST_EXPECT(expect, query);
-}
-
-TESTCASE(STRICTIZE)
-{
- int id = 0;
- std::string query = dpm.select(&ManagedPolicy::value)
- .join<PolicyDefinition>()
- .on(expr(&ManagedPolicy::pid) == expr(&PolicyDefinition::id))
- .join<Admin>()
- .on(expr(&ManagedPolicy::aid) == expr(&Admin::id))
- .where(expr(&ManagedPolicy::pid) == id);
-
- std::string expect = "SELECT managed_policy.value FROM managed_policy " \
- "INNER JOIN policy_definition ON managed_policy.pid = policy_definition.id " \
- "INNER JOIN admin ON managed_policy.aid = admin.id " \
- "WHERE managed_policy.pid = ?";
-
- TEST_EXPECT(expect, query);
-}
-
-TESTCASE(UPDATE)
-{
- std::string name;
- int uid = 0;
- std::string selectQuery = admin.select(&Admin::id).where(expr(&Admin::pkg) == name &&
- expr(&Admin::uid) == uid);
-
- std::string selectExpect = "SELECT id FROM admin WHERE pkg = ? AND uid = ?";
-
- TEST_EXPECT(selectExpect, selectQuery);
-
- int id = 0, aid = 0;
- std::string updateQuery = managedPolicy.update(&ManagedPolicy::value)
- .where(expr(&ManagedPolicy::pid) == id &&
- expr(&ManagedPolicy::aid) == aid);
-
- std::string updateExpect = "UPDATE managed_policy SET value = ? WHERE pid = ? AND aid = ?";
-
- TEST_EXPECT(updateExpect, updateQuery);
-}
-
-TESTCASE(ENROLL)
-{
- std::string name;
- int uid = 0;
- std::string selectQuery = admin.selectAll().where(expr(&Admin::pkg) == name &&
- expr(&Admin::uid) == uid);
-
- std::string selectExpect = "SELECT * FROM admin WHERE pkg = ? AND uid = ?";
-
- TEST_EXPECT(selectExpect, selectQuery);
-
- std::string insertQuery = admin.insert(&Admin::pkg, &Admin::uid,
- &Admin::key, &Admin::removable);
-
- std::string insertExpect = "INSERT INTO admin (pkg, uid, key, removable) VALUES (?, ?, ?, ?)";
-
- TEST_EXPECT(insertExpect, insertQuery);
-}
-
-TESTCASE(UNENROLL)
-{
- std::string name;
- int uid = 0;
- std::string query = admin.remove().where(expr(&Admin::pkg) == name &&
- expr(&Admin::uid) == uid);
-
- std::string expect = "DELETE FROM admin WHERE pkg = ? AND uid = ?";
-
- TEST_EXPECT(expect, query);
-}
-
-TESTCASE(FETCH_DOMAIN)
-{
- std::string query = admin.select(distinct(&Admin::uid));
-
- std::string expect = "SELECT DISTINCT uid FROM admin";
-
- TEST_EXPECT(expect, query);
-}
+++ /dev/null
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "server/server.h"
-
-#include <klay/testbench.h>
-
-#include <iostream>
-
-TESTCASE(LOAD_PLUGINS)
-{
- DevicePolicyManager manager;
- auto result = manager.loadPolicyPlugins();
-
- // Temporary debug method
- auto providers = manager.getProviderList();
- for (const auto& provider : providers) {
- for (const auto& policy : provider->policies) {
- std::cout << "Policy Lists:" << std::endl;
- std::cout << "\t" << policy->name << std::endl;
- }
- }
-
- TEST_EXPECT(true, result.first > 0);
- TEST_EXPECT(true, result.second == 0);
-}
+++ /dev/null
-# Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
-#
-# 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.
-#
-
-ADD_SUBDIRECTORY(cli)
-ADD_SUBDIRECTORY(syspopup)
+++ /dev/null
-# Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
-#
-# 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.
-#
-
-SET(DPM_ADMIN_CLI_TARGET "dpm-admin-cli")
-SET(DPM_SYSPOPUP_TARGET "dpm-syspopup")
-SET(DPM_PREFERENCE_TARGET "dpm-storage-builder")
-
-SET(DPM_ADMIN_CLI_SOURCES dpm-admin-cli.cpp)
-
-PKG_CHECK_MODULES(DPM_ADMIN_CLI_TARGET_DEP REQUIRED vconf)
-
-ADD_EXECUTABLE(${DPM_ADMIN_CLI_TARGET} ${DPM_ADMIN_CLI_SOURCES})
-
-INCLUDE_DIRECTORIES(SYSTEM ${CMAKE_SOURCE_DIR}/src
- ${DPM_ADMIN_CLI_TARGET_DEP_INCLUDE_DIRS})
-
-TARGET_LINK_LIBRARIES(${DPM_ADMIN_CLI_TARGET} policyd)
-
-SET_TARGET_PROPERTIES(${DPM_ADMIN_CLI_TARGET} PROPERTIES COMPILE_FLAGS "-fPIE")
-SET_TARGET_PROPERTIES(${DPM_ADMIN_CLI_TARGET} PROPERTIES LINK_FLAGS "-pie")
-
-INSTALL(FILES ${DPM_PREFERENCE_TARGET} DESTINATION bin)
-INSTALL(FILES ${DPM_SYSPOPUP_TARGET} DESTINATION bin)
-INSTALL(TARGETS ${DPM_ADMIN_CLI_TARGET} DESTINATION bin)
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <pwd.h>
-#include <getopt.h>
-
-#include <memory>
-#include <string>
-
-#include "pil/status.h"
-#include "pil/policy-client.h"
-
-static void usage()
-{
- std::cout << "Usage: dpm-admin-cli [option] [app id] -u [user name]\n"
- << "Options:\n"
- << " -d --deregister pkgid : Deregister device administrator\n"
- << " -u --user username : Specify user name that the device administrator is associted\n"
- << " -h --help : print usage\n"
- << "\n"
- << "Note:\n"
- << " To register/deregister device administrator, "
- << "you should specify user name that the device admin client is associated.\n"
- << " Ex.: dpm-admin-cli -r org.tizen.dpm -u owner\n"
- << std::endl;
-}
-
-static int registerAdministrator(const std::string& pkgname, uid_t uid)
-{
- try {
- DevicePolicyClient client;
-
- Status<int> status { -1 };
- status = client.methodCallForce<int>("DevicePolicyManager::enroll", pkgname, uid);
- return status.get();
- } catch (...) {
- std::cerr << "Failed to enroll device" << std::endl;
- return -1;
- }
-}
-
-static int deregisterAdministrator(const std::string& pkgname, uid_t uid)
-{
- try {
- DevicePolicyClient client;
-
- Status<int> status { -1 };
- status = client.methodCallForce<int>("DevicePolicyManager::disenroll", pkgname, uid);
- return status.get();
- } catch (...) {
- std::cerr << "Failed to disenroll device" << std::endl;
- return -1;
- }
-}
-
-static int getUID(const std::string& username)
-{
- struct passwd pwd, *result;
-
- int bufsize = sysconf(_SC_GETPW_R_SIZE_MAX);
- if (bufsize == -1)
- bufsize = 16384;
-
- std::unique_ptr<char[]> buf(new char[bufsize]);
- int ret = ::getpwnam_r(username.c_str(), &pwd, buf.get(), bufsize, &result);
- if (ret != 0 || result == NULL) {
- std::cout << "User " << username << " isn't exist" << std::endl;
- return -1;
- }
-
- return (int)result->pw_uid;
-}
-
-enum Command {
- NotSpecified,
- RegisterAdministrator,
- DeregisterAdministrator
-};
-
-int main(int argc, char *argv[])
-{
- Command command = NotSpecified;
-
- struct option options[] = {
- {"register", required_argument, 0, 'r'},
- {"deregister", required_argument, 0, 'd'},
- {"user", required_argument, 0, 'u'},
- {"help", no_argument, 0, 'h'},
- {0, 0, 0, 0 }
- };
-
- char* username = NULL;
- char* pkgname = NULL;
-
- int index, opt;
- while ((opt = getopt_long(argc, argv, "r:d:u:h", options, &index)) != -1) {
- switch(opt) {
- case 'r':
- command = RegisterAdministrator;
- pkgname = optarg;
- break;
- case 'd':
- command = DeregisterAdministrator;
- pkgname = optarg;
- break;
- case 'u':
- username = optarg;
- break;
- case 'h':
- usage();
- return 0;
- default:
- usage();
- exit(EXIT_FAILURE);
- }
- }
-
- if (username == NULL) {
- usage();
- return EXIT_FAILURE;
- }
-
- int uid = getUID(username);
- if (uid == -1) {
- usage();
- return EXIT_FAILURE;
- }
-
- switch (command) {
- case RegisterAdministrator:
- return registerAdministrator(pkgname, static_cast<uid_t>(uid));
- case DeregisterAdministrator:
- return deregisterAdministrator(pkgname, static_cast<uid_t>(uid));
- default:
- usage();
- }
-
- return EXIT_FAILURE;
-}
+++ /dev/null
-#! /bin/bash
-
-PATH=/usr/bin:/bin/usr/sbin:/sbin
-
-DB_PATH="/opt/dbspace/.dpm.db"
-JOURNAL_PATH="/opt/dbspace/.dpm.db-journal"
-
-if [[ -f ${DB_PATH} && -f ${JOURNAL_PATH} ]]; then
- exit 0
-fi
-
-rm -f ${DB_PATH} ${JOURNAL_PATH}
-
-sqlite3 ${DB_PATH} \
-"CREATE TABLE IF NOT EXISTS admin ( \
- id INTEGER PRIMARY KEY AUTOINCREMENT, \
- pkg TEXT NOT NULL, \
- uid INTEGER, \
- key TEXT, \
- removable INTEGER \
-); \
-CREATE TABLE IF NOT EXISTS managed_policy ( \
- id INTEGER PRIMARY KEY AUTOINCREMENT, \
- aid INTEGER, \
- pid INTEGER, \
- value INTEGER \
-); \
-CREATE TABLE IF NOT EXISTS policy_definition ( \
- id INTEGER PRIMARY KEY AUTOINCREMENT, \
- scope INTEGER, \
- name TEXT NOT NULL, \
- ivalue INTEGER \
-); \
-CREATE TRIGGER IF NOT EXISTS prepare_storage AFTER INSERT ON admin \
-FOR EACH ROW \
-BEGIN \
-INSERT INTO managed_policy(aid, pid, value) \
-SELECT NEW.ID, policy_definition.id, policy_definition.ivalue \
-FROM policy_definition; \
-END; \
-CREATE TRIGGER IF NOT EXISTS remove_storage AFTER DELETE ON admin \
-FOR EACH ROW \
-BEGIN \
-DELETE FROM managed_policy WHERE managed_policy.aid = OLD.ID; \
-END; \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-history', 0); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-minimum-length', 0); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-minimum-complexity', 0); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-inactivity-timeout', 32767); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-expired', 32767); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-maximum-failure-count', 32767); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-numeric-sequences-length', 32767); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-maximum-character-occurrences', 32767); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-quality', 0); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-recovery', 0); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'password-pattern', ''); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'browser', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (1, 'clipboard', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'bluetooth', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'bluetooth-tethering', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'bluetooth-desktop-connectivity', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'bluetooth-pairing', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'bluetooth-uuid-restriction', 0); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'bluetooth-device-restriction', 0); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'camera', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'external-storage', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'location', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'messaging', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'microphone', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'popimap-email', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'usb-debugging', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'usb-tethering', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'usb-client', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'wifi', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'wifi-hotspot', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'wifi-profile-change', 1); \
-INSERT INTO policy_definition(scope, name, ivalue) VALUES (0, 'wifi-ssid-restriction', 0);"
-
+++ /dev/null
-#!/bin/bash
-PATH="/usr/bin:/bin:/usr/sbin:/sbin"
-
-dbus-send --system --type=method_call --print-reply --dest=org.tizen.DevicePolicyManager \
- /org/tizen/DevicePolicyManager/Syspopup \
- org.tizen.DevicePolicyManager.Syspopup.show \
- string:${1}
-
+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(org.tizen.dpm-syspopup C)
-
-FIND_PACKAGE(PkgConfig REQUIRED)
-PKG_CHECK_MODULES(dpm_syspopup_pkgs REQUIRED
- klay
- dlog
- glib-2.0
- bundle
- elementary
- capi-appfw-application
- capi-system-system-settings
- capi-ui-efl-util
- notification
- vconf
- capi-system-info
-)
-
-INCLUDE_DIRECTORIES(${dpm_syspopup_pkgs_INCLUDE_DIRS} ${DPM_LIBS})
-LINK_DIRECTORIES(${dpm_syspopup_pkgs_LIBRARY_DIRS})
-
-SET(PKG_NAME "${PROJECT_NAME}")
-SET(PKG_SRC src/main.cpp
- src/application.cpp
- src/interface.cpp)
-
-SET(PKG_POPUP_SRC
- src/popup/bluetooth.cpp
- src/popup/browser.cpp
- src/popup/camera.cpp
- src/popup/clipboard.cpp
- src/popup/krate-create.cpp
- src/popup/krate-remove.cpp
- src/popup/location.cpp
- src/popup/message-retrieving.cpp
- src/popup/message-sending.cpp
- src/popup/microphone.cpp
- src/popup/nfc.cpp
- src/popup/package-installation.cpp
- src/popup/package-uninstallation.cpp
- src/popup/password.cpp
- src/popup/popimap-email.cpp
- src/popup/screen-capture.cpp
- src/popup/settings-changes.cpp
- src/popup/wifi.cpp
- src/popup/wifi-hotspot.cpp
- src/popup/usb-client.cpp
- src/popup/external-storage.cpp
- )
-
-SET(PKG_UI_SRC
- src/ui/widget.cpp
- src/ui/popup.cpp
- src/ui/window.cpp
- src/ui/button.cpp
- src/ui/layout.cpp
- src/ui/image.cpp
- src/ui/notification.cpp
- src/ui/appcontrol.cpp)
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE")
-SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
-
-ADD_EXECUTABLE(${PKG_NAME} ${PKG_SRC} ${PKG_POPUP_SRC} ${PKG_UI_SRC})
-INSTALL(TARGETS ${PKG_NAME} DESTINATION ${APP_INSTALL_PREFIX}/${PKG_NAME}/bin)
-
-TARGET_LINK_LIBRARIES(${PKG_NAME} ${dpm_syspopup_pkgs_LIBRARIES})
-
-#Install app data
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKG_NAME}.xml DESTINATION ${APP_SHARE_PACKAGES_DIR})
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/${PKG_NAME}.png DESTINATION /usr/share/icons/default/small)
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/images/ DESTINATION ${APP_INSTALL_PREFIX}/${PKG_NAME}/res/images FILES_MATCHING PATTERN "*.png")
-
-# i18n
-ADD_SUBDIRECTORY(po)
+++ /dev/null
-<manifest>
- <request>
- <domain name="_" />
- </request>
-</manifest>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="org.tizen.dpm-syspopup" version="1.0.0">
- <profile name="mobile"/>
- <privileges>
- <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
- <privilege>http://tizen.org/privilege/notification</privilege>
- <privilege>http://tizen.org/privilege/window.priority.set</privilege>
- </privileges>
- <ui-application appid="org.tizen.dpm-syspopup" exec="/usr/apps/org.tizen.dpm-syspopup/bin/org.tizen.dpm-syspopup" multiple="false" nodisplay="true" taskmanage="false" type="capp">
- <label>dpm-syspopup</label>
- </ui-application>
-</manifest>
+++ /dev/null
-# for i18n
-
-SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en.po en_PH.po en_US.po es_ES.po es_US.po et.po eu.po fi.po fr.po fr_CA.po ga.po gl.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po)
-SET(MSGFMT "/usr/bin/msgfmt")
-
-FOREACH(pofile ${POFILES})
- SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
- MESSAGE("PO: ${pofile}")
- GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
- GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
- SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
- ADD_CUSTOM_COMMAND(
- OUTPUT ${moFile}
- COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
- DEPENDS ${absPofile}
- )
-
- INSTALL(FILES ${moFile} DESTINATION ${APP_INSTALL_PREFIX}/org.tizen.dpm-syspopup/res/locale/${lang}/LC_MESSAGES RENAME dpm-syspopup.mo)
- SET(moFiles ${moFiles} ${moFile})
-ENDFOREACH(pofile)
-
-MESSAGE(".mo files: ${moFiles}")
-ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "الحافظة"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "موافق"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "إلغاء"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "التقاط الشاشة"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "كلمة المرور"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "نقطة اتصال"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "تمنع سياسة الأمان استخدام مزامنة سطح المكتب."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "الكاميرا"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "تمنع سياسة الحماية استخدام %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "سياسة الأمان تقيد استخدام %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "تم تطبيق سياسة الحماية."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "سياسة الحماية سارية المفعول"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "تمنع سياسة الحماية تثبيت التطبيقات."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "تمنع سياسة الحماية تثبيت هذا التطبيق."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "تمنع سياسة الحماية إلغاء تثبيت التطبيقات."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "تمنع سياسة الحماية إلغاء تثبيت هذا التطبيق."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "يطلب نهج الأمان منك تغيير كلمة المرور"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "تُقيد سياسة الحماية استخدام الميكروفون."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "تُقيد سياسة الحماية استخدام معلومات الموقع."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "تمنع سياسة الحماية استخدام البلوتوث."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "تمنع سياسة الحماية إرسال الرسائل."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "تُقيد سياسة الحماية استرداد الرسائل."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "تمنع سياسة الأمان استخدام تطبيقات التصفح."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "تُقيد سياسة الحماية استخدام بطاقة SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "تمنع سياسة الحماية فك تشفير الهاتف."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "تمنع سياسة الحماية استخدام شبكة Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "تمنع سياسة الحماية تغيير الضبط."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "سياسة الأمان تقيد استخدام البريد الإلكتروني POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "تمنع سياسة الأمان استخدام البريد الإلكتروني POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "يقوم نهج الأمان بتقييد استخدام اتصال الكمبيوتر."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Mübadilə buferi"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Ləğv et"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Ekranın şəkli"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Şifrə"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Giriş Nöqtəsi"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Təhlükəsizlik siyasəti iş masasının sinxronlaşdırılmasından istifadənin qarşısını alır."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Təhlükəsizlik siyasəti %s-dan istifadənin qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Təhlükəsizlik siyasəti %s istifadəsini məhdudlaşdırır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Təhlükəsizlik siyasəti tətbiq edildi."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Təhlükəs siyas qüvvədədir"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Təhlükəsizlik siyasəti proqramların quraşdırılmasının qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Təhlükəsizlik siyasəti bu proqramın quraşdırılmasının qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Təhlükəsizlik siyasəti proqramların pozulmasının qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Təhlükəsizlik siyasəti bu proqramın pozulmasının qarşısını alır."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Təhlükəsizlik siyasəti parolu dəyişməyi tələb edir."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Təhlükəsizlik siyasəti mikrofondan istifadəsini məhdudlaşdırır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Təhlükəsizlik siyasəti məkan məlumatının istifadəsini məhdudlaşdırır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Təhlükəsizlik siyasəti Bluetooth-dan istifadənin qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Təhlükəsizlik siyasəti mesaj göndərilməsinin qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Təhlükəsizlik siyasəti mesajların əldə edilməsini məhdudlaşdırır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Təhlükəsizlik siyasəti brauzer proqramlarından istifadənin qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Təhlükəsizlik siyasəti SD kartdan istifadəni məhdudlaşdırır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Təhlükəsizlik siyasəti telefonun şifrlənməsinin qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Təhlükəsizlik siyasəti Wi-Fi-dan istifadənin qarşısını alır."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Təhlükəsizlik siyasəti parametrlərin dəyişdirilməsinin qarşısını alır."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Təhlükəsizlik siyasəti POP/IMAP e-poçtundan istifadəni məhdudlaşdırır."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Təhlükəsizlik siyasəti POP/IMAP e-mailindən istifadənin qarşısını alır."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Təhlükəsizlik siyasəti kompüter bağlantısından istifadəni məhdudlaşdırır."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Системен буфер"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Отказ"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Прихващане на екрана"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Парола"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Точка за достъп"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Политиката за защита пречи на използването на настолна синхронизация."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Камера"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Политиката за защита пречи на използването на %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Политиката за защита ограничава използването на %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Политиката за защита е приложена."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Полит. за защита е в сила"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Политиката за защита пречи на инсталирането на приложения."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Политиката за защита пречи на инсталирането на това приложение."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Политиката за защита пречи на деинсталирането на приложения."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Политиката за защита пречи на деинсталирането на това приложение."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Правилата на защита изискват да промените паролата си."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Политиката за защита ограничава използването на микрофон."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Политиката за защита ограничава използването на информация за местоположението."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Политиката за защита пречи на използването на Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Политиката за защита предотвратява изпращането на съобщения."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Политиката за защита ограничава извличането на съобщения."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Политиката за защита пречи на използването на приложения за браузър."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Политиката за защита ограничава използването на SD карта."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Политиката за защита пречи на дешифрирането на телефона."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Политиката за защита пречи на използването на Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Политиката за защита пречи на промяната на настройки."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Правилата за защита ограничават използването на POP/IMAP имейл."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Политиката за защита пречи на използването на POP/IMAP имейл."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Правилата за защита ограничават използването на връзка PC връзката."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Porta-retalls"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Acceptar"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Canc"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Captura de pantalla"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Contrasenya"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Connexió compartida"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "La política de seguretat evita l'ús de la sincronització d'escriptori"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Càmera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "La política de seguretat impedeix l'ús de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "La política de seguretat restringeix l'ús de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Política de seguretat aplicada."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Política seguretat vigent"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "La política de seguretat impedeix la instal·lació d'aplicacions."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "La política de seguretat impedeix la instal·lació d'aquesta aplicació."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "La política de seguretat impedeix la desinstal·lació d'aplicacions."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "La política de seguretat impedeix la desinstal·lació d'aquesta aplicació."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "La política de seguretat requereix que canviï la contrasenya"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "La política de seguretat restringeix l'ús del micròfon."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "La política de seguretat restringeix l'ús de la informació d'ubicació."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "La política de seguretat evita l'ús de Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "La política de seguretat impedeix l'enviament de missatges."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "La política de seguretat restringeix la recuperació de missatges."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "La política de seguretat impedeix l'ús d'aplicacions del navegador."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "La política de seguretat restringeix l'ús de la targeta SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "La política de seguretat impedeix el desxifratge del telèfon."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "La política de seguretat evita l'ús de Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "La política de seguretat evita els canvis d'ajustaments."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La política de seguretat restringeix l'ús de correu electrònic POP/IMAP"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La política de seguretat evita l'ús de correu electrònic POP/IMAP"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "La política de seguretat restringeix l'ús de connexió del PC"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Schránka"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Zrušit"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Kopie obrazovky"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Heslo"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Zásady zabezpečení neumožňují použití synchronizace se stolním počítačem."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Fotoap"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Zásady zabezpečení neumožňují použití %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Zásady zabezpečení omezují použití %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Zásady zabezpečení byly použity."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Zás. zabezp. v platnosti"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Zásady zabezpečení zakazují instalaci aplikací."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Zásady zabezpečení zakazují instalaci této aplikace."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Zásady zabezpečení zakazují odinstalování aplikací."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Zásady zabezpečení zakazují odinstalování této aplikace."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Zásady zabezpečení požadují, abyste změnili heslo."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Zásady zabezpečení zakazují použití mikrofonu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Zásady zabezpečení omezují použití informací o poloze."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Zásady zabezpečení zakazují použití Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Zásady zabezpečení zakazují odesílání zpráv."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Zásady zabezpečení zakazují načítání zpráv."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Zásady zabezpečení zakazují použití prohlížečů."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Zásady zabezpečení zakazují použití SD karty."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Zásady zabezpečení zakazují dešifrování telefonu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Zásady zabezpečení zakazují použití Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Zásady zabezpečení zakazují měnit nastavení."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Zásady zabezpečení omezují použití e-mailu POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Zásady zabezpečení neumožňují použití e-mailu POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Zásady zabezpečení omezují použití připojení k počítači."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Udklipsholder"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Annuller"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Skærmbillede"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Adgangskode"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Sikkerhedspolitik forhindrer brug af skrivebordssynkronisering."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "En sikkerhedspolitik forhindrer brug af %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Sikkerhedspolitik begrænser brug af %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Sikkerhedspolitikken er blevet anvendt."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Sik.politikken anvendes"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Sikkerhedspolitik forhindrer installation af apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Sikkerhedspolitik forhindrer installation af denne app."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Sikkerhedspolitik forhindrer afinstallation af apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Sikkerhedspolitik forhindrer afinstallation af denne app."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Sikkerhedspolitikken kræver, at du ændrer din adgangskode."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Sikkerhedspolitik begrænser brugen af mikrofon."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Sikkerhedspolitik begrænser brugen af placeringsoplysninger."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Sikkerhedspolitik forhindrer brug af Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Sikkerhedspolitik forhindrer afsendelse af beskeder."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Sikkerhedspolitik begrænser hentning af beskeder."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Sikkerhedspolitik forhindrer brug af browserapps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Sikkerhedspolitik begrænser brugen af SD-kort."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Sikkerhedspolitik forhindrer dekryptering af telefonen."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Sikkerhedspolitik forhindrer brug af Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Sikkerhedspolitik forhindrer ændring af indstillinger."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Sikkerhedspolitik begrænser brug af POP/IMAP e-mail."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Sikkerhedspolitik forhindrer brug af POP-/IMAP-e-mail."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Sikkerhedspolitik begrænser brug af pc-forbindelsen."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Zwischenablage"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Abbrechen"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Screenshot"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Passwort"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Sicherheitsrichtlinie verhindert die Verwendung der Desktop-Synchronisierung."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Sicherheitsrichtlinie verhindert die Verwendung von %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Eine Sicherheitsrichtlinie schränkt die Verwendung von %s ein."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Sicherheitsrichtlinien angewendet."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Sicherheitsrichtlinie aktiv"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Eine Sicherheitsrichtlinie verhindert die Installation von Apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Eine Sicherheitsrichtlinie verhindert die Installation dieser App."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Eine Sicherheitsrichtlinie verhindert die Deinstallation von Apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Eine Sicherheitsrichtlinie verhindert die Deinstallation dieser App."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Die Sicherheitsrichtlinie erfordert ein Ändern Ihres Passworts."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Eine Sicherheitsrichtlinie schränkt die Verwendung des Mikrofons ein."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Eine Sicherheitsrichtlinie schränkt die Verwendung von Standortinformationen ein."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Die Sicherheitsrichtlinie verhindert die Verwendung von Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Eine Sicherheitsrichtlinie verhindert das Senden von Nachrichten."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Eine Sicherheitsrichtlinie schränkt den Empfang von Nachrichten ein."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Eine Sicherheitsrichtlinie verhindert die Verwendung von Browser-Apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Eine Sicherheitsrichtlinie schränkt die Verwendung von SD-Karten ein."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Eine Sicherheitsrichtlinie verhindert die Entschlüsselung des Telefons."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Die Sicherheitsrichtlinie verhindert die Verwendung von WLAN."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Die Sicherheitsrichtlinie verhindert das Ändern der Einstellungen."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Sicherheitsrichtlinie schränkt die Verwendung von POP-/IMAP-E-Mail ein."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Sicherheitsrichtlinie verhindert die Verwendung von POP/IMAP-E-Mail."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Eine Sicherheitsrichtlinie schränkt die Verwendung der PC-Verbindung ein."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Πρόχειρο"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Ακύρωση"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Καταγραφή οθόνης"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Κωδικός πρόσβασης"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Η πολιτική ασφαλείας δεν επιτρέπει τη χρήση συγχρονισμού επιφάνειας εργασίας."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Κάμερα"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Η πολιτική ασφαλείας δεν επιτρέπει τη χρήση της εφαρμογής %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Η πολιτική ασφαλείας περιορίζει τη χρήση %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Η πολιτική ασφάλειας εφαρμόστηκε."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Η πολιτική ασφάλ. ισχύει"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει την εγκατάσταση εφαρμογών."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει την εγκατάσταση αυτής της εφαρμογής."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει την κατάργηση εγκατάστασης εφαρμογών."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει την κατάργηση εγκατάστασης αυτής της εφαρμογής."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Απαιτείται να αλλάξετε τον κωδικό πρόσβασης από την πολιτική ασφάλειας."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Η πολιτική ασφαλείας δεν επιτρέπει τη χρήση του μικροφώνου."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει τη χρήση πληροφοριών τοποθεσίας."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Η πολιτική ασφαλείας δεν επιτρέπει τη χρήση Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει την αποστολή μηνυμάτων."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει την ανάκτηση μηνυμάτων."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει τη χρήση προγραμμάτων περιήγησης."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Η πολιτική ασφαλείας δεν επιτρέπει τη χρήση της κάρτας SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Η πολιτική ασφάλειας αποτρέπει την αποκρυπτογράφηση του τηλεφώνου."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Η πολιτική ασφαλείας δεν επιτρέπει τη χρήση του Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Η πολιτική ασφάλειας δεν επιτρέπει την αλλαγή των ρυθμίσεων."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Η πολιτική ασφαλείας περιορίζει τη χρήση email POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Η πολιτική ασφαλείας δεν επιτρέπει τη χρήση email POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Η πολιτική ασφαλείας περιορίζει τη χρήση της σύνδεσης υπολογιστή."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Clipboard"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Screen capture"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Password"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Security policy prevents use of desktop sync."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Camera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Security policy prevents use of %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Security policy restricts use of %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Security policy applied."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Security policy in effect"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Security policy prevents installation of apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Security policy prevents installation of this app."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Security policy prevents uninstalling apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Security policy prevents uninstalling of this app."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "The security policy requires you to change your password."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Security policy restricts use of mic."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Security policy restricts use of location info."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Security policy prevents use of Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Security policy prevents sending messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Security policy restricts retrieving messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Security policy prevents use of browser apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Security policy restricts use of SD card."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Security policy prevents decryption of phone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Security policy prevents use of Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Security policy prevents changing settings."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Security policy restricts use of POP/IMAP email."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Security policy prevents use of POP/IMAP email."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Security policy restricts use of the PC connection."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Clipboard"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Screen capture"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Password"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Security policy prevents use of desktop sync."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Camera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Security policy prevents use of %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Security policy restricts use of %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Security policy applied."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Security policy in effect"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Security policy prevents installation of apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Security policy prevents installation of this app."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Security policy prevents uninstalling apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Security policy prevents uninstalling of this app."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "The security policy requires you to change your password."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Security policy restricts use of mic."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Security policy restricts use of location info."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Security policy prevents use of Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Security policy prevents sending messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Security policy restricts retrieving messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Security policy prevents use of browser apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Security policy restricts use of SD card."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Security policy prevents decryption of phone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Security policy prevents use of Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Security policy prevents changing settings."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Security policy restricts the use of POP/IMAP Email."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Security policy prevents use of POP/IMAP Email."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Security policy restricts use of the PC connection."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Clipboard"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Screen capture"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Password"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Security policy prevents use of computer sync."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Camera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Security policy prevents use of %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Security policy restricts use of %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Security policy applied."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Security policy in effect"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Security policy prevents installation of apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Security policy prevents installation of this app."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Security policy prevents uninstalling apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Security policy prevents uninstalling of this app."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "The security policy requires you to change your password."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Security policy restricts use of mic."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Security policy restricts use of location info."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Security policy prevents use of Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Security policy prevents sending messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Security policy restricts retrieving messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Security policy prevents use of browser apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Security policy restricts use of SD card."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Security policy prevents decryption of phone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Security policy prevents use of Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Security policy prevents changing settings."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Security policy restricts use of POP/IMAP email."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Security policy prevents use of POP/IMAP email."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Security policy restricts use of the computer connection."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Portapapeles"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Aceptar"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cancelar"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Captura de pantalla"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Contraseña"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Conexión compartida"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "La política de seguridad impide el uso de la sincronización de escritorio."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Cámara"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "La política de seguridad impide el uso de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "La política de seguridad restringe el uso de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Se ha aplicado la política de seguridad."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Política seguridad en vigor"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "La política de seguridad impide la instalación de aplicaciones."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "La política de seguridad impide la instalación de esta aplicación."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "La política de seguridad impide la desinstalación de aplicaciones."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "La política de seguridad impide la desinstalación de esta aplicación."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "La política de seguridad requiere que cambies la contraseña."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "La política de seguridad restringe el uso del micrófono."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "La política de seguridad restringe el uso de información de ubicación."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "La política de seguridad impide el uso de Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "La política de seguridad impide el envío de mensajes."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "La política de seguridad restringe la recuperación de mensajes."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "La política de seguridad impide el uso de aplicaciones de navegador."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "La política de seguridad restringe el uso de tarjeta SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "La política de seguridad impide el descifrado del teléfono."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "La política de seguridad impide el uso de Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "La política de seguridad impide que se cambien los ajustes."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La política de seguridad restringe el uso de correo electrónico POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La política de seguridad impide el uso del correo electrónico POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "La política de seguridad restringe el uso de conexión del PC."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Portapapeles"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Aceptar"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cancelar"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Captura de pantalla"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Contraseña"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Zona portátil"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "La política de seguridad impide el uso de sincronización de escritorio."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Cámara"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "La política de seguridad impide el uso de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "La política de seguridad restringe el uso de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Se aplicó la política de seguridad."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Política seguridad en vigor"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "La política de seguridad impide la instalación de aplicaciones."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "La política de seguridad impide la instalación de esta aplicación."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "La política de seguridad impide la desinstalación de aplicaciones."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "La política de seguridad impide la desinstalación de esta aplicación."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "La política de seguridad requiere que cambie su contraseña."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "La política de seguridad restringe el uso del micrófono."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "La política de seguridad restringe el uso de información de ubicación."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "La política de seguridad impide el uso de Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "La política de seguridad impide el envío de mensajes."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "La política de seguridad restringe la recuperación de mensajes."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "La política de seguridad impide el uso de aplicaciones de navegación."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "La política de seguridad restringe el uso de la tarjeta de memoria."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "La política de seguridad impide desencriptar el teléfono."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "La política de seguridad impide el uso de Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "La política de seguridad impide que se cambie la configuración."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La política de seguridad restringe el uso de correo POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La política de seguridad impide el uso de correo POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "La política de seguridad restringe el uso de la conexión a la PC."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Lõikelaud"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Tühista"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Ekraani jäädvustamine"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Parool"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Kuumkoht"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Turvalisuse poliis takistab toolaua sunkroonimise kasutamist."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kaam."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Turvalisuse poliis takistab rakenduse %s kasutamist."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Turvalisuse poliis piirab üksuse %s kasutamist."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Turvalisuse poliis on rakendatud."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Turvalisuse poliis kehtib"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Turvalisuse poliis ei lase rakendusi installida."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Turvalisuse poliis ei lase seda rakendust installida."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Turvalisuse poliis ei lase rakendusi desinstallida."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Turvalisuse poliis ei lase seda rakendust desinstallida."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Turvalisuse poliis nouab, et muudaksite oma parooli."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Turvalisuse poliis piirab mikrofoni kasutamist."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Turvalisuse poliis piirab asukohateabe kasutamist."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Turvalisuse poliis takistab Bluetooth-ühenduse kasutamist."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Turvalisuse poliis ei lase sõnumeid saata."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Turvalisuse poliis piirab sõnumite vastuvõtmist."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Turvalisuse poliis ei lase brauserirakendusi kasutada."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Turvalisuse poliis piirab SD-kaardi kasutamist."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Turvalisuse poliis ei luba telefoni dekrüptida."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Turvalisuse poliis takistab Wi-Fi kasutamist."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Turvalisuse poliis takistab seadete muutmist."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Turvalisuse poliis piirab POP/IMAP e-posti kasutuse."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Turvalisuse poliis takistab POP/IMAP e-posti kasutamist."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Turvalisuse poliis piirab arvutiuhenduse kasutuse."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Arbela"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Ados"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Utzi"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Pantaila kaptura"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Pasahitza"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Segurtasun politikak idazmahai sinkronizazioaren erabilera galarazten du"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Segurtasun politikak %s erabilera galarazten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Segurtasun politikak %s erabiltzea mugatzen du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Aplikatu da segurtasun politika."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Segurt. politika indarrean"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Segurtasun politikak aplikazio hauek instalatzea galarazten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Segurtasun politikak aplikazio hau instalatzea galarazten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Segurtasun politikak aplikazioak desinstalatzea galarazten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Segurtasun politikak aplikazio hau desinstalatzea galarazten du."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Segurtasun politikak pasahitza alda dezazula behar du"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Segurtasun politikak mikrofonoa erabiltzeko aukera mugatzen du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Segurtasun politikak kokapen informazioa erabiltzeko aukera mugatzen du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Segurtasun jarraibideak Bluetootha erabiltzea galarazten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Segurtasun politikak mezuak bidaltzea galarazten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Segurtasun politikak mezuak eskuratzeko aukera mugatzen du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Segurtasun politikak nabigatzeko aplikazioak erabiltzea galarazten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Segurtasun politikak SD txartela erabiltzeko aukera mugatzen du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Segurtasun politikak telefonoa desenkriptatzea saihesten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Segurtasun jarraibideak Wi-Fi erabiltzea galarazten du."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Segurtasun jarraibideak ezarpenak aldatzea galarazten du."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Segurtasun politikak POP/IMAP postaren erabilera mugatzen du"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Segurtasun politikak POP/IMAP mezularitza elektronikoaren erabilera galarazten du"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Segurtasun politikak ordenagailu konexioaren erabilera mugatzen du"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Leikepöytä"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Peruuta"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Ruudunkaappaus"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Salasana"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Tukiasema"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Suojauskäytäntö estää työpöydän synkronoinnin käytön."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Suojauskäytäntö estää sovelluksen %s käytön."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Suojauskäytäntö estää toiminnon %s käytön."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Suojauskäytäntö otettu käyttöön."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Suojauskäytäntö voimassa"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Suojauskäytäntö estää sovellusten asennuksen."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Suojauskäytäntö estää tämän sovelluksen asennuksen."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Suojauskäytäntö estää sovellusten asennuksen poistamisen."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Suojauskäytäntö estää tämän sovelluksen asennuksen poistamisen."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Suojauskäytäntö vaatii, että vaihdat salasanan."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Suojauskäytäntö estää mikrofonin."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Suojauskäytäntö estää sijaintitietojen käytön."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Suojauskäytäntö estää Bluetoothin käytön."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Suojauskäytäntö estää viestien lähettämisen."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Suojauskäytäntö estää viestien haun."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Suojauskäytäntö estää selainsovellusten käytön."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Suojauskäytäntö estää SD-kortin käytön."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Suojauskäytäntö estää puhelimen salauksen purkamisen."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Suojauskäytäntö estää Wi-Fi-yhteyden käytön."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Suojauskäytäntö estää asetusten muuttamisen."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Suojauskäytäntö estää POP/IMAP-sähköpostin käytön."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Suojauskäytäntö estää POP/IMAP-sähköpostin käytön."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Suojauskäytäntö estää tietokoneyhteyden käytön."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Presse-papier"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Annuler"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Capture d'écran"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Mot de passe"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Point d'accès"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "La politique de sécurité empêche l'utilisation de la synchronisation avec le bureau."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Photo"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "La politique de sécurité empêche l'utilisation de l'application %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "La politique de sécurité limite l'utilisation de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "La politique de sécurité a été appliquée."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Politique sécu. en vigueur"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "La politique de sécurité empêche l'installation des applications."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "La politique de sécurité empêche l'installation de cette application."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "La politique de sécurité empêche la désinstallation des applications."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "La politique de sécurité empêche la désinstallation de cette application."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "En raison de la politique de sécurité, vous devez modifier votre mot de passe."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "La politique de sécurité limite l'utilisation du micro."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "La politique de sécurité limite l'utilisation des informations de position."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "La politique de sécurité empêche l'utilisation du Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "La politique de sécurité empêche l'envoi de messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "La politique de sécurité empêche la récupération des messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "La politique de sécurité empêche l'utilisation des applications du navigateur."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "La politique de sécurité limite l'utilisation de la carte SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "La politique de sécurité empêche le décryptage du téléphone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "La politique de sécurité empêche l'utilisation du Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "La politique de sécurité empêche la modification des paramètres."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La politique de sécurité limite l'utilisation de la messagerie POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La politique de sécurité empêche l'utilisation de la messagerie POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "La politique de sécurité limite l'utilisation de la connexion PC."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Presse-papier"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Annuler"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Capture d'écran"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Mot de passe"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Point d'accès"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "La politique de sécurité empêche l'utilisation de la synchronisation avec le bureau."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Photo"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "La politique de sécurité empêche l'utilisation de l'application %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "La politique de sécurité limite l'utilisation de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "La politique de sécurité a été appliquée."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Politique sécu. en vigueur"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "La politique de sécurité empêche l'installation des applications."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "La politique de sécurité empêche l'installation de cette application."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "La politique de sécurité empêche la désinstallation des applications."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "La politique de sécurité empêche la désinstallation de cette application."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "En raison de la politique de sécurité, vous devez modifier votre mot de passe."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "La politique de sécurité limite l'utilisation du micro."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "La politique de sécurité limite l'utilisation des informations de position."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "La politique de sécurité empêche l'utilisation du Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "La politique de sécurité empêche l'envoi de messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "La politique de sécurité empêche la récupération des messages."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "La politique de sécurité empêche l'utilisation des applications du navigateur."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "La politique de sécurité limite l'utilisation de la carte SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "La politique de sécurité empêche le décryptage du téléphone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "La politique de sécurité empêche l'utilisation du Wifi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "La politique de sécurité empêche la modification des paramètres."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La politique de sécurité limite l'utilisation de la messagerie POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "La politique de sécurité empêche l'utilisation de la messagerie POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "La politique de sécurité limite l'utilisation de la connexion PC."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Gearrthaisce"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cuir ar ceal"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Gabháil scáileáin"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Pasfhocal"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Ball te"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Cuireann an beartas slándála bac ar úsáid shioncronú deisce"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Ceam."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Cuireann an beartas slándála cosc ar úsáid %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Cuireann an polasaí slándála srian ar úsáid %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Beartas slándála curtha i bhfeidhm."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Bear. slándála i bhfeidhm"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Cuireann an beartas slándála cosc ar shuiteáil feidhmchlár."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Cuireann an beartas slándála cosc ar shuiteáil an fheidhmchláir seo."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Cuireann an beartas slándála cosc ar dhíshuiteáil feidhmchlár."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Cuireann an beartas slándála cosc ar dhíshuiteáil an fheidhmchláir seo."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Éilíonn an beartas slándála ort do phasfhocal a athrú"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Cuireann an beartas slándála srian ar úsáid an mhicreafóin."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Cuireann an beartas slándála srian ar úsáid faisnéis suímh."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Cuireann an beartas slándála cosc ar Bluetooth a úsáid."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Cuireann an beartas slándála cosc ar sheoladh teachtaireachtaí."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Cuireann an beartas slándála srian ar aisghabháil teachtaireachtaí."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Cuireann an beartas slándála bac ar úsáid feidhmchláir bhrabhsálaí."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Cuireann an polasaí slándála srian ar úsáid an chárta SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Cuireann an beartas slándála cosc ar dhíchriptiú an fhóin."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Cuireann an beartas slándála cosc ar Wi-Fi a úsáid."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Cuireann an beartas slándála cosc ar shocruithe a athrú."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Cuireann an beartas slándála srian ar úsáid r-phost POP/IMAP"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Cuireann an beartas slándála bac ar úsáid r-phost POP/IMAP"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Cuireann an beartas slándála srian ar nasc PC a úsáid"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Portapapeis"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Aceptar"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cancelar"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Captura de pantalla"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Contrasinal"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Zona interactiva"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "A política de seguridade impide o uso da sincronización do escritorio"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Cámara"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "A política de seguridade impide o uso de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "A política de seguridade limita o uso de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Política de seguridade aplicada."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Política seguridade"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "A política de seguridade impide a instalación de aplicacións."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "A política de seguridade impide a instalación desta aplicación."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "A política de seguridade impide a desinstalación de aplicacións."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "A política de seguridade impide a desinstalación desta aplicación."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "A política de seguridade esíxete que cambies o contrasinal"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "A política de seguridade limita o uso do micrófono."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "A política de seguridade limita o uso da información de localización."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "A política de seguridade impide o uso do Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "A política de seguridade impide o envío de mensaxes."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "A política de seguridade limita a recuperación de mensaxes."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "A política de seguridade impide o uso de aplicacións de navegador."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "A política de seguridade limita o uso da tarxeta SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "A política de seguridade evita o descifrado do teléfono."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "A política de seguridade impide o uso da Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "A política de seguridade impide o cambio dos axustes."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "A política de seguridade limita o uso do correo electrónico POP/IMAP"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "A política de seguridade impide o uso do correo electrónico POP/IMAP"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "A política de seguridade limita o uso da conexión co ordenador"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "क्लिपबोर्ड"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "ओके"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "रद्द करें"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "स्क्रीन कैप्चर"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "पासवर्ड"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "हॉटस्पॉट"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "सुरक्षा नीति डेस्कटॉप सिंक के उपयोग को रोकती है"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "कैमरा"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "सुरक्षा नीति %s के उपयोग को रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "सुरक्षा नीति %s के उपयोग को प्रतिबंधित करती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "सुरक्षा नीति लागू की गई।"
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "सुरक्षा नीति प्रभाव में है"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "सुरक्षा नीति एप्स की स्थापना को रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "सुरक्षा नीति इस एप की स्थापना को रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "सुरक्षा नीति एप्स की स्थापना रद्द करने से रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "सुरक्षा नीति इस एप की स्थापना रद्द करने से रोकती है।"
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "सुरक्षा नीति के तहत आपका पासवर्ड बदलना आवश्यक हैं।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "सुरक्षा नीति माइक के उपयोग को प्रतिबंधित करती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "सुरक्षा नीति स्थान जानकारी के उपयोग को प्रतिबंधित करती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "सुरक्षा नीति ब्लूटूथ का उपयोग करने से रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "सुरक्षा नीति सन्देश भेजने से रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "सुरक्षा नीति सन्देश पुनर्प्राप्त करने को प्रतिबंधित करती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "सुरक्षा नीति ब्राउजर एप्स के उपयोग को रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "सुरक्षा नीति SD कार्ड के उपयोग को प्रतिबंधित करती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "सुरक्षा नीति फोन के डिक्रिप्शन को रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "सुरक्षा नीति Wi-Fi का उपयोग करने से रोकती है।"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "सुरक्षा नीति सेटिंग्स बदलने से रोकती है।"
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "सुरक्षा नीति POP/IMAP ईमेल के उपयोग को प्रतिबंधित करती है।"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "सुरक्षा नीति POP/IMAP ईमेल के उपयोग को रोकती है"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "सुरक्षा नीति PC कनेक्शन का उपयोग प्रतिबंधित करती है।"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Međuspremnik"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "U redu"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Prekid"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Snimka zaslona"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Lozinka"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Pristupna točka"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Sigurnosne odredbe sprečavaju upotrebu sinkronizacije radne površine."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Sigurnosne odredbe sprečavaju upotrebu aplikacije %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Sigurnosna pravila ograničavaju upotrebu značajke %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Sigurnosna pravila primijenjena."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Sigurn. pravila na snazi"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Sigurnosna pravila sprečavaju instalaciju aplikacija."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Sigurnosna pravila sprečavaju instalaciju ove aplikacije."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Sigurnosna pravila sprečavaju deinstaliranje aplikacija."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Sigurnosna pravila sprečavaju deinstaliranje ove aplikacije."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Zbog sigurnosnih pravila morate promijeniti lozinku."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Sigurnosna pravila ograničavaju upotrebu mikrofona."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Sigurnosna pravila ograničavaju uporabu podataka o lokaciji."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Sigurnosna pravila sprečavaju upotrebu Bluetootha."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Sigurnosna pravila sprečavaju slanje poruka."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Sigurnosna pravila ograničavaju preuzimanje poruka."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Sigurnosna pravila sprečavaju upotrebu aplikacija preglednika."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Sigurnosna pravila ograničavaju upotrebu SD kartice."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Sigurnosna pravila sprečavaju dešifriranje telefona."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Sigurnosna pravila sprečavaju upotrebu Wi-Fi-a."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Sigurnosna pravila sprečavaju promjenu postavki."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Sigurnosne odredbe ograničavaju korištenje usluge POP/IMAP email."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Sigurnosne odredbe sprečavaju upotrebu POP/IMAP emaila."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Sigurnosna pravila ograničavaju upotrebu računalne veze."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Vágólap"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Mégse"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Képernyőfelvétel"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Jelszó"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "A biztonsági irányelv tiltja a számítógéppel történő szinkronizálás használatát."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "A biztonsági házirend tiltja a(z) %s használatát."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "A biztonsági házirend korlátozza a(z) %s használatát."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "A rendszer beállította a biztonsági házirendet."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "A bizt. h.rend érvényben"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "A biztonsági házirend tiltja az alkalmazások telepítését."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "A biztonsági házirend tiltja ennek az alkalmazásnak a telepítését."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "A biztonsági házirend tiltja az alkalmazások eltávolítását."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "A biztonsági házirend tiltja ennek az alkalmazásnak az eltávolítását."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "A biztonsági irányelv a jelszó módosítását igényli."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "A biztonsági házirend korlátozza a mikrofon használatát."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "A biztonsági házirend korlátozza a helyadatok használatát."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "A biztonsági irányelv tiltja a Bluetooth használatát."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "A biztonsági házirend tiltja az üzenetek küldését."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "A biztonsági házirend korlátozza az üzenetek letöltését."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "A biztonsági házirend tiltja a böngészőalkalmazások használatát."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "A biztonsági házirend korlátozza az SD-kártya használatát."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "A biztonsági házirend tiltja a telefon dekódolását."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "A biztonsági irányelv tiltja a Wi-Fi használatát."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "A biztonsági irányelv tiltja a beállítások módosítását."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "A biztonsági irányelv korlátozza a POP/IMAP e-mail használatát."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "A biztonsági irányelv tiltja a POP/IMAP e-mail használatát."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "A biztonsági irányelv korlátozza a számítógépes kapcsolat használatát."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Գզրոց"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Ընդունել"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Դադարեցնել"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Էկրանի սևեռում"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Գաղտնաբառ"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Թեժ կետ"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Անվտանգության քաղաքականությունը կանխում է աշխատասեղանի համաժամացման օգտագործումը:"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Խցիկ"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս %s-ի օգտագործում:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Անվտանգության քաղաքականությունը սահմանափակում է %s-ի օգտագործումը:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Անվտանգության քաղաքականությունը կիրառվեց:"
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Անվտ. քղքկնթյնը գործում է"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս ծրագրերի տեղադրում:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս այս ծրագրի տեղադրումը:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս ապատեղադրել ծրագրերը:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս ապատեղադրել այս ծրագիրը:"
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Անվտանգության քաղաքականությունը պահանջում է, որ փոխեք Ձեր գաղտնաբառը:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Անվտանգության քաղաքականությունը սահմանափակում է միկրոֆոնի օգտագործումը:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Անվտանգության քաղաքականությունը սահմանափակում է տեղի մասին տեղեկատվության օգտագործումը:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս Bluetooth-ի օգտագործում:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս հաղորդագրություններ ուղարկել:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Անվտանգության քաղաքականությունը սահմանափակում է հաղորդագրությունների առբերումը:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս զննարկիչ ծրագրերի օգտագործում:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Անվտանգության քաղաքականությունը սահմանափակում է SD քարտի օգտագործումը:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս հեռախոսի վերծանում:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս Wi-Fi-ի օգտագործում:"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Անվտանգության քաղաքականությունը թույլ չի տալիս փոխել դրվածքները:"
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Անվտանգության քաղաքականությունը սահմանափակում է POP/IMAP էլփոստի օգտագործումը:"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Անվտանգության քաղաքականությունը կանխում է POP/IMAP էլփոստի օգտագործումը:"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Անվտանգության քաղաքականությունը սահմանափակում է ԱՀ կապի օգտագործումը:"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Klippiborð"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Í lagi"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Hætta við"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Myndupptaka"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Aðgangsorð"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Aðgangsstaður"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Öryggisstefna kemur í veg fyrir notkun skjáborðssamstillingar."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Taka"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Öryggisstefna kemur í veg fyrir notkun á %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Öryggisstefna takmarkar notkun á %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Öryggisstefna notuð."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Öryggisstefna er í gildi"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Öryggisstefna kemur í veg fyrir uppsetningu forrita."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Öryggisstefna kemur í veg fyrir uppsetningu forritsins."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Öryggisstefna kemur í veg fyrir að forrit séu fjarlægð."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Öryggisstefna kemur í veg fyrir að forritið sé fjarlægt."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Öryggisstefnan krefst þess að þú breytir lykilorðinu þínu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Öryggisstefna takmarkar notkun á hljóðnema."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Öryggisstefna takmarkar notkun staðsetningarupplýsinga."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Öryggisstefnan kemur í veg fyrir notkun Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Öryggisstefna kemur í veg fyrir skilaboðasendingar."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Öryggisstefna takmarkar endurheimt skilaboða."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Öryggisstefna kemur í veg fyrir notkun vafraforrita."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Öryggisstefna takmarkar notkun SD-korts."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Öryggisstefna kemur í veg fyrir afkóðun símans."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Öryggisstefnan kemur í veg fyrir notkun Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Öryggisstefnan kemur í veg fyrir breytingar á stillingum."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Öryggisreglur takmarka notkun POP/IMAP tölvupósts."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Öryggisstefna kemur í veg fyrir notkun POP-/IMAP-tölvupósts."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Öryggisstefna takmarkar notkun tölvutengingarinnar."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Appunti"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Annulla"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Schermate acquisite"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Password"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Router"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "I criteri di protezione non consentono la sincronizzazione desktop."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Camera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "I criteri di protezione non consentono l'uso di %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "I criteri di protezione limitano l'uso di %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Criteri di protezione applicati."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Criteri protezione attivi"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "I criteri di protezione impediscono l'installazione delle applicazioni."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "I criteri di protezione impediscono l'installazione di questa applicazione."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "I criteri di protezione impediscono la disinstallazione delle applicazioni."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "I criteri di protezione impediscono la disinstallazione di questa applicazione."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "I criteri di protezione richiedono di modificare la password."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "I criteri di protezione limitano l'uso del microfono."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "I criteri di protezione limitano l'uso delle informazioni sulla posizione."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "I criteri di protezione impediscono l'uso del Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "I criteri di protezione impediscono l'invio di messaggi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "I criteri di protezione limitano il recupero dei messaggi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "I criteri di protezione impediscono l'uso delle applicazioni browser."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "I criteri di protezione limitano l'uso della scheda SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "I criteri di protezione impediscono la decrittografia del dispositivo."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "I criteri di protezione impediscono l'uso del Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "I criteri di protezione impediscono la modifica delle impostazioni."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "I criteri di sicurezza limitano l'uso delle e-mail POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "I criteri di protezione non consentono l'utilizzo di e-mail POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "I criteri di protezione limitano l'utilizzo della connessione del PC."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "クリップボード"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "キャンセル"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "画面キャプチャ"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "パスワード"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "ホットスポット"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "デスクトップ同期の使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "カメラ"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "%sの使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "%sの使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "セキュリティポリシーを適用しました。"
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "セキュリティポリシーを適用中"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "アプリのインストールは、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "このアプリのインストールは、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "アプリのアンインストールは、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "このアプリのアンインストールは、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "セキュリティポリシーにより、パスワードを変更する必要があります。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "マイクの使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "位置情報の使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Bluetoothの使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "メッセージの送信は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "メッセージの受信は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "ブラウザアプリの使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "外部SDカードの使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "端末の復号は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Wi-Fiの使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "設定の変更は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Eメール(POP/IMAP)の使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Eメール(POP/IMAP)の使用は、セキュリティポリシーによって制限されています。"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "セキュリティポリシーにより、PC接続の利用を制限します。"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "ბუფერული მეხს."
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "კი"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "გაუქმება"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "ეკრანის სურათი"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "პაროლი"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "ცხელი წერტილი"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს სამუშაო დაფის სინქრონიზაციის გამოყენებას."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "კამერა"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს %s-ის გამოყენებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "უსაფრთხოების პოლიტიკა ზღუდავს %s-ის გამოყენებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "გამოიყენება უსაფრთხოების პოლიტიკა."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "უსაფრთხოება ძალაშია"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს აპლიკაციების დაინსტალირებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს ამ აპლიკაციის დაინსტალირებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს აპლიკაციების ინსტალაციის გაუქმებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს ამ აპლიკაციის ინსტალაციის გაუქმებას."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "უსაფრთხოების პოლიტიკით მოგეთხოვებათ შეცვალოთ პაროლი."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "უსაფრთხოების პოლიტიკა ზღუდავს, მიკროფონის გამოყენებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "უსაფრთხოების პოლიტიკა ზღუდავს ლოკაციის ინფორმაციის გამოყენებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს Bluetooth-ის გამოყენებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს შეტყობინებების გაგზავნას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "უსაფრთხოების პოლიტიკა ზღუდავს შეტყობინებების მიღებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს ბრაუზერი აპლიკაციების გამოყენებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "უსაფრთხოების პოლიტიკა ზღუდავს SD ბარათის გამოყენებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს ტელეფონის გაშიფვრას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს Wi-Fi-ის გამოყენებას."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს პარამეტრების შეცვლას."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "უსაფრთხოების პოლიტიკა ზღუდავს POP/IMAP ელ.ფოსტის გამოყენებას."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "უსაფრთხოების პოლიტიკა კრძალავს POP/IMAP ელფოსტის გამოყენებას."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "უსაფრთხოების პოლიტიკა ზღუდავს კომპიუტერთან კავშირის გამოყენებას."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Буфер"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Бас тарту"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Экранды түсіру"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Кілтсөз"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Жедел нүкте"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Қауіпсіздік саясаты жұмыс үстелін синхрондауға жол бермейді."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Камера"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Қауіпсіздік саясаты %s қолданбасын пайдалануға жол бермеді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Қауіпсіздің саясаты %s мүмкіндігін пайдалануды шектейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Қауіпсіздік саясаты қолданылды."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Қауіпсіз. саясаты күшінде"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Қауіпсіздік саясаты қолданбаларды орнатуға жол бермейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Қауіпсіздік саясаты осы қолданбаны орнатуға жол бермейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Қауіпсіздік саясаты қолданбаларды жоюға жол бермейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Қауіпсіздік саясаты осы қолданбаны жоюға жол бермейді."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Қауіпсіздік саясаты құпиясөздің өзгеруін қажет етеді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Қауіпсіздік саясаты микрофонды пайдалануды шектейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Қауіпсіздік саясаты орын ақпаратын пайдалануды шектейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Қауіпсіздік саясаты Bluetooth пайдалануды шектейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Қауіпсіздік саясаты хабарларды жіберуге жол бермейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Қауіпсіздік саясаты хабарларды қалпына келтіруді шектейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Қауіпсіздік саясаты браузер қолданбаларын пайдалануға жол бермейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Қауіпсіздік саясаты SD картаны пайдалануды шектейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Қауіпсіздік саясаты телефонды шифрсыздандыруға жол бермейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Қауіпсіздік саясаты Wi-Fi пайдалануға жол бермейді."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Қауіпсіздік саясаты параметрлерді өзгертуді болдырмайды."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Қауіпсіздік саясаты POP/IMAP электрондық поштасының пайдаланылуын шектейді."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Қауіпсіздік саясаты POP/IMAP электрондық поштасын пайдалануға жол бермейді."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Қауіпсіздік саясаты компьютерге қосылымды пайдалануды шектейді."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "클립보드"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "확인"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "취소"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "화면 캡처"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "비밀번호"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "핫스팟"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "보안정책에 따라 PC를 동기화할 수 없습니다."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "카메라"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "보안정책에 따라 %s 앱을 사용할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "보안정책에 따라 %s 기능을 사용할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "보안정책을 적용했습니다."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "보안정책 적용 중"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "보안정책에 따라 앱을 설치할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "보안정책에 따라 이 앱을 설치할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "보안정책에 따라 앱을 삭제할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "보안정책에 따라 이 앱을 삭제할 수 없습니다."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "보안정책에 따라 비밀번호를 변경하세요."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "보안정책에 따라 마이크를 사용할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "보안정책에 따라 위치정보를 사용할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "보안정책에 따라 [블루투스]를 사용할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "보안정책에 따라 메시지를 보낼 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "보안정책에 따라 메시지를 가져올 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "보안정책에 따라 브라우저 앱을 사용할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "보안정책에 따라 SD 카드를 사용할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "보안정책에 따라 휴대전화의 암호화를 해제할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "보안정책에 따라 Wi-Fi를 사용할 수 없습니다."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "보안정책에 따라 설정을 변경할 수 없습니다."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "보안정책에 따라 [POP/IMAP 이메일]을 사용할 수 없습니다."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "보안정책에 따라 [POP/IMAP 이메일]을 사용할 수 없습니다."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "보안정책에 따라 PC에 연결할 수 없습니다."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Iškarpinė"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Gerai"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Atšaukti"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Ekrano nuotrauka"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Slaptažodis"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Saitvietė"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Saugos politika neleidžia naudoti darbalaukio sinchronizavimo."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Fot."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Saugos politika neleidžia naudoti %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Saugos politika draudžia naudoti „%s“."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Saugos politika pritaikyta."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Saugos politika galioja"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Saugos politika neleidžia diegti programų."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Saugos politika neleidžia diegti šios programos."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Saugos politika neleidžia išdiegti programų."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Saugos politika neleidžia išdiegti šios programos."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Pagal naują saugumo politiką reikalaujama, kad pakeistumėte slaptažodį dabar."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Saugos politika riboja mikrofono naudojimą."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Saugos politika riboja vietos informacijos naudojimą."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Saugos politika neleidžia naudoti „Bluetooth“."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Saugos politika neleidžia siųsti žinučių."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Saugos politika riboja žinučių gavimą."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Saugos politika neleidžia naudoti naršyklės programos."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Saugos politika riboja SD kortelės naudojimą."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Saugos politika neleidžia iššifruoti telefono."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Saugos politika neleidžia naudoti „Wi-Fi“."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Saugos politika neleidžia keisti nustatymų."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Saugos strategija riboja naudojimąsi POP/IMAP el. paštu."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Saugos politika neleidžia naudoti POP/IMAP el. pašto."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Saugos strategija riboja ryšio su kompiuteriu naudojimą."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Starpliktuve"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Labi"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Atcelt"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Ekrāna tvērums"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Parole"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Tīklājs"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Drošības politika liedz datora sinhronizācijas lietošanu."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Drošības politika neļauj lietot %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Drošības politika ierobežo %s lietošanu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Tiek lietota drošības politika."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Drošības politika spēkā"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Drošības politika neļauj instalēt programmas."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Drošības politika neļauj instalēt šo programmu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Drošības politika neļauj atinstalēt programmas."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Drošības politika neļauj atinstalēt šo programmu."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Drošības politika pieprasa nomainīt paroli."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Drošības politika neļauj izmantot mikrofonu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Drošības politika neļauj izmantot atrašanās vietas informāciju."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Drošības politika neļauj lietot Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Drošības politika neļauj sūtīt ziņas."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Drošības politika neļauj izgūt ziņas."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Drošības politika neļauj izmantot pārlūkprogrammas."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Drošības politika neļauj izmantot SD karti."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Drošības politika neļauj atšifrēt tālruni."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Drošības politika neļauj lietot Wi-Fi tīklu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Drošības politika neļauj mainīt iestatījumus."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Drošības politika ierobežo POP/IMAP e-pasta lietošanu."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Drošības politika liedz POP/IMAP e-pasta lietošanu."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Drošības politika neļauj lietot savienojumu ar datoru."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Посредна меморија"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Откажи"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Сними од екран"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Лозинка"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Хотспот"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Политиката за безбедност спречува користење синхронизирање со компјутер."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Камера"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Политиката за безбедност спречува користење %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Политиката за безбедност го ограничува користењето %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Применета е полисата за безбедност."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Важ. Полиса за безбедност"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Полисата за безбедност спречува инсталирање на апликации."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Полисата за безбедност спречува инсталирање на оваа апликација."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Полисата за безбедност спречува одинсталирање апликации."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Полисата за безбедност спречува одинсталирање на оваа апликација."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Политиката на безбедност бара да ја смените лозинката."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Полисата за безбедност го ограничува користењето на микрофонот."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Полисата за безбедност ограничува користење на информации за локација."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Полисата за безбедност го спречува користењето Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Полисата за безбедност спречува испраќање пораки."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Полисата за безбедност ограничува враќање пораки."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Полисата за безбедност спречува користење на апликации за прегледник."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Полисата за безбедност го ограничува користењето на SD-картичката."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Политиката за безбедност го спречува дешифрирањето на телефонот."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Полисата за безбедност спречува користење Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Полисата за безбедност спречува менување поставувања."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Политиката на безбедност го ограничува користењето email POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Политиката на безбедност спречува користење е-пошта POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Политиката на безбедност го ограничува користењето врска со компјутер."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Utklippstavle"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Avbryt"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Ta et skjermbilde"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Passord"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Trådløssone"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Sikkerhetspolicyen hindrer bruk av skrivebordssynkronisering."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Sikkerhetspolicyen hindrer bruk av %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Sikkerhetspolicy begrenser bruk av %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Sikkerhetspolicy er tatt i bruk."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Sikkerhetspolicy i bruk"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Sikkerhetspolicy hindrer installasjon av apper."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Sikkerhetspolicy hindrer installasjon av denne appen."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Sikkerhetspolicy hindrer avinstallering av apper."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Sikkerhetspolicy hindrer avinstallering av denne appen."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Sikkerhetspolicyen krever at du endrer passordet."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Sikkerhetspolicy begrenser bruk av mikrofon."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Sikkerhetspolicy begrenser bruk av posisjonsinformasjon."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Sikkerhetspolicy hindrer bruk av Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Sikkerhetspolicy hindrer sending av meldinger."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Sikkerhetspolicy begrenser henting av meldinger."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Sikkerhetspolicy hindrer bruk av nettleserapper."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Sikkerhetspolicy begrenser bruk av SD-kort."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Sikkerhetspolicy hindrer dekryptering av telefonen."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Sikkerhetspolicy hindrer bruk av Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Sikkerhetspolicy hindrer endring av innstillinger."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Sikkerhetspolicy begrenser bruk av POP/IMAP-e-post."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Sikkerhetspolicyen hindrer bruk av e-post via POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Sikkerhetspolicy begrenser bruk av datamaskin-tilkoblingen."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Klembord"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Annul."
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Schermafbeelding"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Wachtwoord"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Beveiligingsbeleid verhindert gebruik van desktop synchroniseren."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Camera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Beveiligingsbeleid verhindert gebruik van %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Gebruik van %s beperkt door beveiligingsbeleid."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Beveiligingsbeleid toegepast."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Geldende beveilig.beleid"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Beveiligingsbeleid verhindert de installatie van deze apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Beveiligingsbeleid verhindert de installatie van deze app."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Beveiligingsbeleid verhindert het verwijderen van deze apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Beveiligingsbeleid verhindert het verwijderen van deze app."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Het beveiligingsbeleid vereist dat u uw wachtwoord wijzigt."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Beveiligingsbeleid beperkt gebruik van microfoon."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Beveiligingsbeleid beperkt het gebruik van locatiegegevens."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Gebruik van Bluetooth wordt voorkomen door beveiligingsbeleid."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Beveiligingsbeleid verhindert het verzenden van berichten."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Beveiligingsbeleid beperkt het ophalen van berichten."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Beveiligingsbeleid verhindert gebruik van browser-apps."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Beveiligingsbeleid beperkt gebruik van SD-kaart."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Beveiligingsbeleid verhindert decodering van telefoon."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Gebruik van Wi-Fi wordt voorkomen door beveiligingsbeleid."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Wijzigen van instellingen wordt voorkomen door beveiligingsbeleid."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Gebruik van POP/IMAP-e-mail beperkt door beveiligingsbeleid."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Beveiligingsbeleid verhindert gebruik van POP/IMAP-e-mail."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Gebruik van pc-verbinding wordt beperkt door beveiligingsbeleid."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Schowek"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Anuluj"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Przechwytywanie ekranu"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Hasło"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Router"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Zasady zabezpieczeń uniemożliwiają korzystanie z synchronizacji z komputerem."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Aparat"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Zasady zabezpieczeń uniemożliwiają korzystanie z aplikacji %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Zasady zabezpieczeń ograniczają użycie funkcji %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Zastosowano zasady zabezpieczeń."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Obowiązują zasady zabezp."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Zasady zabezpieczeń zapobiegają instalacji aplikacji."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Zasady zabezpieczeń zapobiegają instalacji tej aplikacji."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Zasady zabezpieczeń zapobiegają odinstalowaniu aplikacji."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Zasady zabezpieczeń zapobiegają odinstalowaniu tej aplikacji."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Zasady zabezpieczeń wymagają zmiany hasła."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Zasady zabezpieczeń ograniczają użycie mikrofonu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Zasady zabezpieczeń ograniczają użycie informacji o lokalizacji."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Zasady zabezpieczeń zapobiegają korzystaniu z połączenia Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Zasady zabezpieczeń zapobiegają wysyłaniu wiadomości."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Zasady zabezpieczeń ograniczają odbieranie wiadomości."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Zasady zabezpieczeń zapobiegają korzystaniu z aplikacji przeglądarki."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Zasady zabezpieczeń ograniczają użycie karty SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Zasady zabezpieczeń zapobiegają deszyfrowaniu telefonu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Zasady zabezpieczeń zapobiegają korzystaniu z sieci Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Zasady zabezpieczeń zapobiegają zmianie ustawień."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Zasady zabezpieczeń ograniczają użycie poczty POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Zasady zabezpieczeń uniemożliwiają korzystanie z poczty POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Zasady zabezpieczeń ograniczają użycie połączenia z komputerem."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Área de transferência"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cancelar"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Captura de tela"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Senha"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Roteador"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "A política de segurança evita o uso da sincronização da área de trabalho."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Câmera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "A política de segurança evita o uso de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "A política de segurança restringe o uso de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Política de segurança aplicada."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Polít. de segur. em vigor"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "A política de segurança impede a instalação de aplicativos."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "A política de segurança impede a instalação deste aplicativo."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "A política de segurança impede a desinstalação de aplicativos."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "A política de segurança impede a desinstalação deste aplicativo."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "A política de segurança exige a alteração da senha."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "A política de segurança restringe o uso de microfone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "A política de segurança restringe o uso de informações de localização."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "A política de segurança impede o uso do Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "A política de segurança impede o envio de mensagens."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "A política de segurança restringe a recuperação de mensagens."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "A política de segurança impede o uso de aplicativos de navegador."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "A política de segurança restringe o uso de cartão de memória."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "A política de segurança impede a decodificação do telefone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "A política de segurança impede o uso do Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "A política de segurança impede a alteração das configurações."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "A política de segurança restringe a utilização de e-mail POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "A política de segurança evita o uso de e-mail POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "A política de segurança restringe o uso da conexão do PC."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Área transferência"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Cancelar"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Captura de ecrã"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Palavra-passe"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "A política de segurança impede a utilização de sincronização do ambiente de trabalho."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Câmara"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "A política de segurança impede a utilização de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "A política de segurança restringe a utilização de %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Política de segurança aplicada."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Política segurança em vigor"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "A política de segurança impede a instalação de aplicações."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "A política de segurança impede a instalação desta aplicação."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "A política de segurança impede a desinstalação de aplicações."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "A política de segurança impede a desinstalação desta aplicação."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "A política de segurança exige que altere a sua palavra-passe."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "A política de segurança restringe a utilização do microfone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "A política de segurança restringe a utilização de informações de localização."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "A política de segurança impede a utilização de Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "A política de segurança impede o envio de mensagens."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "A política de segurança restringe a obtenção de mensagens."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "A política de segurança impede a utilização de aplicações de browser."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "A política de segurança restringe a utilização do cartão SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "A política de segurança impede a desencriptação do telefone."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "A política de segurança impede a utilização de Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "A política de segurança impede a alteração das definições."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "A política de segurança restringe a utilização de e-mail POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "A política de segurança impede a utilização de e-mail POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "A política de segurança restringe a utilização da ligação do PC."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Clipboard"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Anulare"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Captură ecran"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Parolă"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Politica de securitate nu permite utilizarea sincronizării desktopului."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Cameră"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Politica de securitate nu permite utilizarea aplicației %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Politica de securitate restricționează utilizarea %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Politică de securitate aplicată."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Pol. securitate în vigoare"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Politica de securitate nu permite instalarea aplicațiilor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Politica de securitate nu permite instalarea acestei aplicații."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Politica de securitate nu permite dezinstalarea aplicațiilor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Politica de securitate nu permite dezinstalarea acestei aplicații."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Politica de securitate impune schimbarea parolei."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Politica de securitate restricționează utilizarea microfonului."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Politica de securitate restricționează utilizarea informațiilor privind locația."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Politica de securitate nu permite utilizarea Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Politica de securitate nu permite trimiterea mesajelor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Politica de securitate restricționează preluarea mesajelor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Politica de securitate nu permite utilizarea aplicațiilor de browser."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Politica de securitate restricționează utilizarea cardului SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Politica de securitate nu permite decriptarea telefonului."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Politica de securitate nu permite utilizarea Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Politica de securitate nu permite schimbarea setărilor."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Politica de securitate restricționează utilizarea e-mailului POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Politica de securitate nu permite utilizarea e-mailului POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Politica de securitate restricționează utilizarea conexiunii la PC."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Буфер обмена"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "ОК"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Отмена"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Снимок экрана"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Пароль"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Точка доступа"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Политика безопасности ограничивает синхронизацию с компьютером."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Камера"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Политика безопасности ограничивает использование %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Использование функции %s ограничивается политикой безопасности."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Политика безопасности применена."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Политика безоп. действует"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Политика безопасности запрещает установку приложений."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Политика безопасности запрещает установку этого приложения."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Политика безопасности запрещает удаление приложений."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Политика безопасности запрещает удаление этого приложения."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Политика безопасности требует смены пароля."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Политика безопасности запрещает использование микрофона."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Политика безопасности запрещает использование информации о местоположении."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Политика безопасности запрещает использование Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Политика безопасности запрещает отправку сообщений."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Политика безопасности запрещает получение сообщений."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Политика безопасности запрещает использование приложений на основе веб-браузера."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Политика безопасности запрещает использование SD-карты."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Политикой безопасности исключается расшифровка данных телефона."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Политика безопасности запрещает использование Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Политика безопасности запрещает изменять параметры."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Политика безопасности ограничивает использование эл. почты по протоколам POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Политика безопасности ограничивает использование POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Политика безопасности ограничивает подключение к компьютеру."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Schránka"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Zrušiť"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Snímka obrazovky"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Heslo"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Prístupový bod"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Politika zabezpečenie zabraňuje používaniu synchronizácie s počítačom."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Fotoap."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Politika zabezpečenia zabraňuje používaniu aplikácie %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Politika zabezpečenia obmedzuje používanie funkcie %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Politika zabezpečenia sa aplikovala."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Politika zabezp. aplikov."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Politika zabezpečenia zabraňuje inštalácii aplikácií."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Politika zabezpečenia zabraňuje inštalácii tejto aplikácie."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Politika zabezpečenia zabraňuje odinštalovaniu aplikácií."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Politika zabezpečenia zabraňuje odinštalovaniu tejto aplikácie."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Politika zabezpečenie vyžaduje, aby ste zmenili vaše heslo."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Politika zabezpečenia obmedzuje používanie mikrofónu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Politika zabezpečenia obmedzuje používanie informácií o polohe."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Politika zabezpečenia zabraňuje používaniu pripojenia Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Politika zabezpečenia zabraňuje odosielaniu správ."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Politika zabezpečenia obmedzuje načítavanie správ."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Politika zabezpečenia zabraňuje používaniu aplikácií prehliadačov."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Politika zabezpečenia obmedzuje používanie karty SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Politika zabezpečenia zabraňuje dešifrovaniu telefónu."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Politika zabezpečenia zabraňuje používaniu pripojenia Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Politika zabezpečenia zabraňuje zmene nastavení."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Politika zabezpečenia obmedzuje použitie e-mailov POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Politika zabezpečenia zabraňuje používaniu e-mailov POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Politika zabezpečenia obmedzuje použitie počítačového pripojenia."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Odložišče"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "V redu"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Prekliči"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Zajem zaslona"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Geslo"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Dostopna točka"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Varnostni pravilnik preprečuje uporabo sinhronizacije namizja."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Fot."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Varnostni pravilnik preprečuje uporabo aplikacije %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Varnostni pravilnik omejuje uporabo programa %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Uporabljen je varnostni pravilnik."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Veljaven varn. pravilnik"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Varnostni pravilnik preprečuje namestitev aplikacij."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Varnostni pravilnik preprečuje namestitev te aplikacije."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Varnostni pravilnik preprečuje odstranitev aplikacij."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Varnostni pravilnik preprečuje odstranitev te aplikacije."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Varnostni pravilnik zahteva, da spremenite geslo."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Varnostni pravilnik omejuje uporabo mikrofona."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Varnostni pravilnik omejuje uporabo informacij o lokaciji."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Varnostni pravilnik preprečuje uporabo vmesnika Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Varnostni pravilnik preprečuje pošiljanje sporočil."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Varnostni pravilnik omejuje prejemanje sporočil."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Varnostni pravilnik preprečuje uporabo aplikacij brskalnika."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Varnostni pravilnik omejuje uporabo kartice SD."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Varnostni pravilnik preprečuje dešifriranje telefona."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Varnostni pravilnik preprečuje uporabo vmesnika Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Varnostni pravilnik preprečuje spreminjanje nastavitev."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Varnostni pravilnik omejuje uporabo e-pošte POP/IMAP."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Varnostni pravilnik preprečuje uporabo e-pošte POP/IMAP."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Varnostni pravilnik omejuje uporabo računalniške povezave."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Privremena memorija"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Otkaži"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Snimanje prikaza ekrana"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Lozinka"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Pristupna tačka"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Politika bezbednosti sprečava korišćenje sinhronizacije sa računarom."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Politika bezbednosti sprečava korišćenje aplikacije %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Politika bezbednosti ograničava upotrebu funkcije %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Politika bezbednosti je primenjena."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Politika bezbed. na snazi"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Politika bezbednosti sprečava instalaciju aplikacija."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Politika bezbednosti sprečava instalaciju ove aplikacije."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Politika bezbednosti sprečava deinstaliranje aplikacija."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Politika bezbednosti sprečava deinstalaciju ove aplikacije."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Politika bezbednosti zahteva da promeniš lozinku."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Politika bezbednosti ograničava upotrebu mikrofona."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Politika bezbednosti ograničava upotrebu informacija o lokaciji."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Politika bezbednosti sprečava korišćenje Bluetooth-a."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Politika bezbednosti sprečava slanje poruka."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Politika bezbednosti ograničava prijem poruka."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Politika bezbednosti sprečava korišćenje aplikacija pretraživača."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Politika bezbednosti ograničava upotrebu SD kartice."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Politika bezbednosti sprečava dešifrovanje telefona."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Politika bezbednosti sprečava korišćenje Wi-Fi veze."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Politika bezbednosti sprečava promenu podešavanja."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Politika bezbednosti ograničava upotrebu POP/IMAP e-pošte."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Politika bezbednosti sprečava korišćenje POP/IMAP e-pošte."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Politika bezbednosti ograničava upotrebu veze sa računarom."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Urklipp"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Avbryt"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Skärmbild"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Lösenord"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Hotspot"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Säkerhetspolicyn förhindrar att skrivbordssynkronisering används."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Säkerhetspolicyn förhindrar att %s används."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Säkerhetspolicyn begränsar användningen av %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Säkerhetspolicy används."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Säkerhetspolicy gäller"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Säkerhetspolicyn förhindrar att appar installeras."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Säkerhetspolicyn förhindrar att appen installeras."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Säkerhetspolicyn förhindrar att appar avinstalleras."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Säkerhetspolicyn förhindrar att appen avinstalleras."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Säkerhetspolicyn kräver att du ändrar lösenordet."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Säkerhetspolicyn begränsar användningen av mikrofon."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Säkerhetspolicyn begränsar användningen av platsinformation."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Säkerhetspolicyn förhindrar att Bluetooth används."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Säkerhetspolicyn förhindrar att meddelanden skickas."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Säkerhetspolicyn begränsar hämtning av meddelanden."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Säkerhetspolicyn förhindrar att webbläsare används."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Säkerhetspolicy begränsar användningen av SD-kort."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Säkerhetspolicyn hindrar att telefonen avkrypteras."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Säkerhetspolicyn förhindrar att Wi-Fi används."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Säkerhetspolicyn förhindrar ändring av inställningarna."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Säkerhetspolicy begränsar användningen av POP/IMAP-e-post."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Säkerhetspolicyn förhindrar att POP-/IMAP-e-post används."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Säkerhetspolicyn begränsar användningen av datoranslutningen."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Pano"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "Tamam"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "İptal"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Ekran yakalama"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Şifre"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Erişim Noktası"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Güvenlik ilkesi masaüstü eşitleme kullanımını engelliyor."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Güvenlik ilkesi, %s kullanımını engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Güvenlik ilkesi, %s kullanımını kısıtlıyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Güvenlik ilkesi uygulandı."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Güvenlik ilkesi geçerli"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Güvenlik ilkesi, uygulamaların yüklenmesini engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Güvenlik ilkesi, bu uygulamanın yüklenmesini engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Güvenlik ilkesi, uygulamaların kaldırılmasını engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Güvenlik ilkesi, bu uygulamanın kaldırılmasını engelliyor."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Güvenlik ilkesi, şifrenizi değiştirmenizi istiyor"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Güvenlik ilkesi, mikrofon kullanımını kısıtlıyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Güvenlik ilkesi, konum bilgisi kullanımını kısıtlıyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Güvenlik ilkesi Bluetooth kullanımını engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Güvenlik ilkesi, mesaj göndermeyi engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Güvenlik ilkesi, mesaj almayı kısıtlıyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Güvenlik ilkesi, tarayıcı uygulamalarının kullanımını engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Güvenlik ilkesi, SD kart kullanımını kısıtlıyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Güvenlik ilkesi, telefonun şifresini çözmeyi engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Güvenlik ilkesi Wi-Fi kullanımını engelliyor."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Güvenlik ilkesi ayarların değiştirilmesini engelliyor."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Güvenlik ilkesi POP/IMAP eposta kullanımını kısıtlıyor."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Güvenlik ilkesi POP/IMAP e-posta kullanımını engelliyor."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Güvenlik ilkesi PC bağlantısı kullanımını kısıtlıyor."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Буфер обміну"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Скасувати"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Знімок екрана"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Пароль"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Точка доступу"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Політика безпеки попереджає використання синхронізації з комп’ютером."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Камера"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Політика безпеки забороняє використання %s."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Використання функції %s обмежено політикою безпеки."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Застосовано політику безпеки."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Діє політика безпеки"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Політикою безпеки заборонено встановлення програм."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Політикою безпеки заборонено встановлення цієї програми."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Політикою безпеки заборонено видалення програм."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Політикою безпеки заборонено видалення цієї програми."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Політика безпеки вимагає змінення паролю."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Політикою безпеки заборонено використання мікрофона."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Політикою безпеки заборонено використання інформації про розташування."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Політика безпеки попереджає використання функції Bluetooth."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Політикою безпеки заборонено надсилання повідомлень."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Політикою безпеки заборонено отримання повідомлень."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Політикою безпеки заборонено використання програм на базі браузера."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Політикою безпеки заборонено використання SD-карти."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Політикою безпеки виключається можливість дешифрування даних телефону."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Політика безпеки попереджає використання мережі Wi-Fi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Політика безпеки попереджає змінення установок."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Використання протоколів POP/IMAP електронної пошти обмежено політикою безпеки."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Політика безпеки попереджає використання протоколів POP/IMAP електронної пошти."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Використання підключення до ПК заборонено політикою безпеки."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "Bufer"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "OK"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "Bekor qilish"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "Ekran rasmi"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "Parol"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "Faol nuqta"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "Xavfsizlik siyosati ishchi stolni sinxronlash ishlatilishidan saqlaydi."
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "Kamera"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "Xavfsizlik siyosati %s ishlatilishiga yo‘l qo‘ymayapti."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "Xavfsizlik siyosati %s’dan foydalanishni cheklaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "Xavfsizlik siyosati qo‘llanildi."
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "Xavf-lik siyosati kuchda"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "Xavfsizlik siyosati ilovalar o‘rnatilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "Xavfsizlik siyosati ushbu ilova o‘rnatilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "Xavfsizlik siyosati ilovalar olib tashlanishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "Xavfsizlik siyosati ushbu ilova olib tashlanishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "Xavfsizlik siyosati parolingizni o‘zgartirishni talab qiladi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "Xavfsizlik siyosati mikrofon ishlatilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "Xavfsizlik siyosati joylashuv ma’lumotlari ishlatilishiga yo‘q qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "Xavfsizlik siyosati Bluetooth ishlatilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "Xavfsizlik siyosati xabarlar yuborilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "Xavfsizlik siyosati xabarlar olinishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "Xavfsizlik siyosati brauzer ilovalari ishlatilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "Xavfsizlik siyosati SD-karta ishlatilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "Xavfsizlik siyosati telefon shifrdan chiqarilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "Xavfsizlik siyosati Wi-Fi ishlatilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "Xavfsizlik siyosati parametrlar o‘zgartirilishiga yo‘l qo‘ymaydi."
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Xavfsizlik siyosati POP/IMAP e-pochtasidan foydalanishni cheklaydi."
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "Xavfsizlik siyosati POP/IMAP e-pochta ishlatilishidan saqlaydi."
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "Xavfsizlik siyosati ShK ulanishidan foydalanishni cheklaydi."
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "剪贴板"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "确定"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "取消"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "屏幕截取"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "密码"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "热点"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "安全政策可防止桌面同步的使用。"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "相机"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "安全策略阻止使用%s"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "安全政策限制 %s 的使用"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "已应用安全政策"
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "安全政策已生效"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "安全政策会阻止安装应用程序"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "安全政策会阻止安装此应用程序"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "安全政策会阻止卸载应用程序"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "安全政策会阻止卸载此应用程序"
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "安全政策需要您更改密码。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "安全政策会限制使用麦克风"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "安全政策会限制使用位置信息"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "安全政策阻止使用蓝牙。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "安全政策会阻止发送信息"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "安全政策会限制获取信息"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "安全政策会阻止使用浏览器应用程序"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "安全政策会限制使用 SD 卡"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "安全政策阻止对手机进行解密"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "安全政策阻止使用 Wi-Fi。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "安全政策阻止更改设置。"
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "安全政策限制使用POP/IMAP电子邮件。"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "安全政策可防止 POP/IMAP 电子邮件的使用。"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "安全政策限制 PC 连接的使用。"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "剪貼板"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "確定"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "取消"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "螢幕擷取"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "密碼"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "熱點"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "安全性政策可防止桌上電腦同步的使用。"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "相機"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "安全性政策防止%s的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "安全政策限制使用 %s。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "已應用安全性政策。"
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "安全性政策已生效"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "安全性政策會阻止安裝應用程式。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "安全性政策會阻止安裝此應用程式。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "安全性政策會阻止解除安裝應用程式。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "安全性政策會阻止解除安裝此應用程式。"
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "安全性政策將要求您變更密碼。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "安全政策會限制使用話筒。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "安全政策會限制使用位置資訊。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "安全性政策可防止藍牙的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "安全性政策會阻止發送訊息。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "安全性政策會限制取回訊息。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "安全性政策會阻止瀏覽器應用程式的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "安全政策會限制使用 SD 卡。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "安全性政策阻止手機的解密。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "安全性政策防止 Wi-Fi 的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "安全性政策防止變更設定。"
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "安全政策限制使用 POP/IMAP 電子郵件。"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "安全性政策可防止 POP/IMAP 電子郵件的使用。"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "安全性政策限制使用電腦連線。"
-
+++ /dev/null
-msgid "IDS_TPLATFORM_OPT_CLIPBOARD"
-msgstr "剪貼簿"
-
-msgid "IDS_TPLATFORM_BUTTON_OK"
-msgstr "確認"
-
-msgid "IDS_TPLATFORM_BUTTON2_CANCEL"
-msgstr "取消"
-
-msgid "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN"
-msgstr "螢幕擷取"
-
-msgid "IDS_ST_BODY_PASSWORD"
-msgstr "密碼"
-
-msgid "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT"
-msgstr "無線基地台"
-
-msgid "IDS_ST_BODY_NFC"
-msgstr "NFC"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_DESKTOP_SYNC"
-msgstr "安全性原則可防止桌機同步的使用。"
-
-msgid "IDS_IDLE_TAB4_CAMERA"
-msgstr "相機"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_PS"
-msgstr "安全性原則禁止%s的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS"
-msgstr "安全性原則限制 %s 的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_APPLIED"
-msgstr "已套用安全性原則。"
-
-msgid "IDS_IDLE_MBODY_SECURITY_POLICY_IN_EFFECT"
-msgstr "安全性原則已生效"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS"
-msgstr "安全性原則會防止應用程式的安裝。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_THIS_APP"
-msgstr "安全性原則會防止此應用程式的安裝。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS"
-msgstr "安全性原則會防止解除安裝應用程式。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_OF_THIS_APP"
-msgstr "安全性原則會防止解除安裝此應用程式。"
-
-msgid "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"
-msgstr "安全性政策將要求您變更密碼。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC"
-msgstr "安全性原則會限制麥克風的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO"
-msgstr "安全性原則會限制位置資訊的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH"
-msgstr "安全性原則會防止藍牙的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES"
-msgstr "安全性原則會防止訊息的傳送。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES"
-msgstr "安全性原則會限制訊息的擷取。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS"
-msgstr "安全性原則會防止瀏覽器應用程式的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD"
-msgstr "安全性原則會限制 SD 卡的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_DECRYPTION_OF_PHONE"
-msgstr "安全性原則阻擋手機的解密。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI"
-msgstr "安全性原則會防止 Wi-Fi 的使用。"
-
-msgid "IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_CHANGING_SETTINGS"
-msgstr "安全性原則會防止變更設定。"
-
-msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "由於安全政策,使用POP/IMAP電子郵件被限制。"
-
-msgid "IDS_ST_POP_SECURITY_POLICY_PREVENTS_USE_OF_POP_IMAP_EMAIL"
-msgstr "安全性原則可防止 POP/IMAP 電子郵件的使用。"
-
-msgid "IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION"
-msgstr "安全性政策限制使用電腦連線。"
-
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "application.h"
-
-Application::Application(const std::string &name)
- : packageName(name), appControl(nullptr)
-{
-}
-
-Application::~Application()
-{
-}
-
-bool Application::createDispatcher(void *data)
-{
- Application *application = reinterpret_cast<Application *>(data);
- return application->onCreate();
-}
-
-void Application::terminateDispatcher(void *data)
-{
- Application *application = reinterpret_cast<Application *>(data);
- return application->onTerminate();
-}
-
-void Application::pauseDispatcher(void *data)
-{
- Application *application = reinterpret_cast<Application *>(data);
- return application->onPause();
-}
-
-void Application::resumeDispatcher(void *data)
-{
- Application *application = reinterpret_cast<Application *>(data);
- return application->onResume();
-}
-
-void Application::appControlDispatcher(app_control_h app_control, void *data)
-{
- Application *application = reinterpret_cast<Application *>(data);
- application->appControl.reset(new AppControl{app_control});
-
- return application->onAppControl();
-}
-
-void Application::languageChangedDispatcher(app_event_info_h event_info, void *user_data)
-{
- int ret = 0;
- char *locale = NULL;
-
- ret = ::system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale);
- if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
- throw runtime::Exception("failed to get language");
- }
-
- ::elm_language_set(locale);
- ::free(locale);
-}
-
-int Application::run(int argc, char *argv[])
-{
- int ret = 0;
- ui_app_lifecycle_callback_s event_callback = { 0, };
- app_event_handler_h handlers[5] = { NULL, };
-
- event_callback.create = createDispatcher;
- event_callback.terminate = terminateDispatcher;
- event_callback.pause = pauseDispatcher;
- event_callback.resume = resumeDispatcher;
- event_callback.app_control = appControlDispatcher;
-
- try {
- ::ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED],
- APP_EVENT_LANGUAGE_CHANGED,
- languageChangedDispatcher, NULL);
-
- ret = ::ui_app_main(argc, argv, &event_callback, this);
- if (ret != APP_ERROR_NONE)
- throw runtime::Exception("app_main() is failed");
- } catch(runtime::Exception &e) {
- dlog_print(DLOG_ERROR, packageName.c_str(), "%s", e.what());
- ::ui_app_exit();
- }
-
- return ret;
-}
-
-bool Application::onCreate()
-{
- return true;
-}
-
-void Application::onTerminate()
-{
-}
-
-void Application::onPause()
-{
-}
-
-void Application::onResume()
-{
-}
-
-void Application::onAppControl()
-{
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __APPLICATION_H__
-#define __APPLICATION_H__
-
-#include <memory>
-
-#include <app.h>
-#include <app_common.h>
-#include <Elementary.h>
-#include <efl_util.h>
-
-#include <dlog.h>
-#include <system_info.h>
-#include <system_settings.h>
-#include <klay/exception.h>
-
-#include "ui/appcontrol.h"
-
-class Application {
-public:
- Application(const std::string &name);
- virtual ~Application();
-
- virtual int run(int argc, char *argv[]);
-
-protected:
- virtual bool onCreate();
- virtual void onResume();
- virtual void onPause();
- virtual void onTerminate();
- virtual void onAppControl();
-
- std::string packageName;
- std::unique_ptr<AppControl> appControl;
-private:
- static bool createDispatcher(void *data);
- static void resumeDispatcher(void *data);
- static void pauseDispatcher(void *data);
- static void terminateDispatcher(void *data);
- static void appControlDispatcher(app_control_h app_control, void *data);
- static void languageChangedDispatcher(app_event_info_h event_info, void* user_data);
-};
-
-#endif /*__APPLICATION_H__*/
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "interface.h"
-
-SyspopupInterface::SyspopupInterface()
- : prefix(0), title(""), content(""), popup(nullptr), window(nullptr)
-{
-}
-
-SyspopupInterface::SyspopupInterface(const std::string &contentText)
- : prefix(0), title(""), content(contentText), popup(nullptr), window(nullptr)
-{
-}
-
-SyspopupInterface::SyspopupInterface(int prefixEnabled, const std::string &contentText)
- : prefix(prefixEnabled), title(""), content(contentText), popup(nullptr), window(nullptr)
-{
-}
-
-SyspopupInterface::SyspopupInterface(const std::string &titleText, const std::string &contentText)
- : prefix(0), title(titleText), content(contentText), popup(nullptr), window(nullptr)
-{
-}
-
-SyspopupInterface::~SyspopupInterface()
-{
- if (popup != nullptr) {
- popup->dispose();
- }
-
- if (window)
- delete window;
-}
-
-int SyspopupInterface::getProfile()
-{
- char *profileName = nullptr;
- int ret = ::system_info_get_platform_string("http://tizen.org/feature/profile", &profileName);
- if (ret != SYSTEM_INFO_ERROR_NONE) {
- return Profile::Invalid;
- }
-
- switch (*profileName) {
- case 'm':
- case 'M':
- ret = Profile::Mobile;
- break;
- case 'w':
- case 'W':
- ret = Profile::Wearable;
- break;
- default:
- ret = Profile::Invalid;
- break;
- }
-
- ::free(profileName);
- return ret;
-}
-
-bool SyspopupInterface::isManufacturer(const std::string &name)
-{
- bool ret = false;
- char *manufacturer = nullptr;
-
- ::system_info_get_platform_string("tizen.org/system/manufacturer", &manufacturer);
- ret = !name.compare(manufacturer);
- ::free(manufacturer);
- return ret;
-}
-
-void SyspopupInterface::createWindow()
-{
- if (window == nullptr)
- window = new Window{"dpm-syspopup"};
-}
-
-void SyspopupInterface::createToastPopup()
-{
- createWindow();
- switch (getProfile()) {
- case Profile::Mobile :
- popup.reset(new MobileToastPopup(window));
- break;
- case Profile::Wearable:
- popup.reset(new WearableToastPopup(window));
- break;
- default:
- throw runtime::Exception("Invalid profile");
- break;
- }
-}
-
-void SyspopupInterface::createDefaultPopup()
-{
- createWindow();
- switch (getProfile()) {
- case Profile::Mobile:
- popup.reset(new MobileDefaultPopup(window));
- break;
- case Profile::Wearable:
- popup.reset(new WearableDefaultPopup(window));
- break;
- default:
- throw runtime::Exception("Invalid profile");
- break;
- }
-}
-
-void SyspopupInterface::show()
-{
- if (!title.empty()) {
- popup->setTitleText(title);
- }
-
- if (!content.empty() && !prefix) {
- popup->setContentText(content);
- }
-
- if (!content.empty() && prefix) {
- popup->setPrefixContentText(content);
- }
-
- if (popup != nullptr) {
- popup->show();
- }
-}
-
-std::unordered_map<std::string, SyspopupInterface *> ManagedPopup::list;
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __SYSPOPUP_INTERFACE_H__
-#define __SYSPOPUP_INTERFACE_H__
-
-#include <iostream>
-#include <memory>
-#include <vector>
-#include <functional>
-#include <unordered_map>
-
-#include <dlog.h>
-#include <system_info.h>
-#include <klay/exception.h>
-
-#include "ui/window.h"
-#include "ui/popup.h"
-#include "ui/appcontrol.h"
-#include "ui/notification.h"
-
-class SyspopupInterface {
-public:
- enum Profile {
- Mobile = 0,
- Wearable,
- Invalid,
- };
-
- SyspopupInterface();
- SyspopupInterface(const std::string &contentText);
- SyspopupInterface(int prefixEnabled, const std::string &contentText);
- SyspopupInterface(const std::string &titleText, const std::string &contentText);
-
- virtual ~SyspopupInterface();
-
- virtual void initialize() = 0;
- virtual void contribute(const std::string &userData) = 0;
- virtual void dispose() = 0;
-
- void show();
-
-protected:
- int getProfile();
- bool isManufacturer(const std::string &name);
-
- void createToastPopup();
- void createDefaultPopup();
-
- int prefix;
- std::string title;
- std::string content;
- std::unique_ptr<Popup> popup;
-private:
- void createWindow();
- Window *window;
-};
-
-class ManagedPopup {
-public:
- static std::unordered_map<std::string, SyspopupInterface *> list;
-};
-
-template <typename Syspopup>
-class SyspopupManager {
-public:
- SyspopupManager(const std::string &id);
- ~SyspopupManager();
-
-private:
- std::unique_ptr<Syspopup> popup;
-};
-
-template <typename Syspopup>
-SyspopupManager<Syspopup>::SyspopupManager(const std::string &id)
-{
- popup.reset(new Syspopup{});
- ManagedPopup::list[id] = popup.get();
-}
-
-template<typename Syspopup>
-SyspopupManager<Syspopup>::~SyspopupManager()
-{
-}
-
-#endif /* __SYSPOPUP_INTERFACE_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <klay/exception.h>
-#include "syspopup.h"
-
-DPMSyspopup::DPMSyspopup()
- : Application("dpm-syspopup"), id(""), userData("")
-{
-}
-
-DPMSyspopup::~DPMSyspopup()
-{
-}
-
-void DPMSyspopup::onAppControl()
-{
- SyspopupInterface *popup = nullptr;
-
- id = appControl->getData("id");
- if (ManagedPopup::list.find(id) == ManagedPopup::list.end()) {
- throw runtime::Exception("popup is not supported.");
- }
-
- popup = ManagedPopup::list[id];
- if (popup == nullptr) {
- throw runtime::Exception("failed to get popup instance");
- }
-
- popup->initialize();
- userData = appControl->getData("user-data");
- popup->contribute(userData);
- popup->show();
-}
-
-void DPMSyspopup::onTerminate()
-{
- SyspopupInterface *popup = nullptr;
- popup = ManagedPopup::list[id];
- if (popup == nullptr) {
- throw runtime::Exception("failed to get popup instance");
- }
- popup->dispose();
-}
-
-int main(int argc, char *argv[])
-{
- int ret = 0;
- DPMSyspopup syspopup;
- ret = syspopup.run(argc, argv);
- return ret;
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "bluetooth.h"
-
-BluetoothPopup::BluetoothPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BLUETOOTH")
-{
-}
-
-BluetoothPopup::~BluetoothPopup()
-{
-}
-
-void BluetoothPopup::initialize()
-{
-}
-
-void BluetoothPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void BluetoothPopup::dispose()
-{
-}
-
-SyspopupManager<BluetoothPopup> bluetoothPopup("bluetooth");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_BLUETOOTH_SYSPOPUP_H__
-#define __DPM_BLUETOOTH_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class BluetoothPopup : public SyspopupInterface {
-public:
- BluetoothPopup();
- virtual ~BluetoothPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_BLUETOOTH_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "browser.h"
-
-BrowserPopup::BrowserPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_BROWSER_APPS")
-{
-}
-
-BrowserPopup::~BrowserPopup()
-{
-}
-
-void BrowserPopup::initialize()
-{
-}
-
-void BrowserPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void BrowserPopup::dispose()
-{
-}
-
-SyspopupManager<BrowserPopup> browserPopup("browser");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_BROWSER_SYSPOPUP_H__
-#define __DPM_BROWSER_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class BrowserPopup : public SyspopupInterface {
-public:
- BrowserPopup();
- virtual ~BrowserPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_BROWSER_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "camera.h"
-
-CameraPopup::CameraPopup()
- : SyspopupInterface(true, "IDS_IDLE_TAB4_CAMERA")
-{
-}
-
-CameraPopup::~CameraPopup()
-{
-}
-
-void CameraPopup::initialize()
-{
-}
-
-void CameraPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void CameraPopup::dispose()
-{
-}
-
-SyspopupManager<CameraPopup> cameraPopup("camera");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_CAMERA_SYSPOPUP_H__
-#define __DPM_CAMERA_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class CameraPopup : public SyspopupInterface {
-public:
- CameraPopup();
- virtual ~CameraPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_CAMERA_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "clipboard.h"
-
-ClipboardPopup::ClipboardPopup()
- : SyspopupInterface(true, "IDS_TPLATFORM_OPT_CLIPBOARD")
-{
-}
-
-ClipboardPopup::~ClipboardPopup()
-{
-}
-
-void ClipboardPopup::initialize()
-{
-}
-
-void ClipboardPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void ClipboardPopup::dispose()
-{
-}
-
-SyspopupManager<ClipboardPopup> clipboardPopup("clipboard");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_CLIPBOARD_SYSPOPUP_H__
-#define __DPM_CLIPBOARD_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class ClipboardPopup : public SyspopupInterface {
-public:
- ClipboardPopup();
- virtual ~ClipboardPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_CLIPBOARD_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "external-storage.h"
-
-ExternalStoragePopup::ExternalStoragePopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_SD_CARD")
-{
-}
-
-ExternalStoragePopup::~ExternalStoragePopup()
-{
-}
-
-void ExternalStoragePopup::initialize()
-{
-}
-
-void ExternalStoragePopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void ExternalStoragePopup::dispose()
-{
-}
-
-SyspopupManager<ExternalStoragePopup> sdCardPopup("external-storage");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_EXTERNAL_STORAGE_SYSPOPUP_H__
-#define __DPM_EXTERNAL_STORAGE_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class ExternalStoragePopup : public SyspopupInterface {
-public:
- ExternalStoragePopup();
- virtual ~ExternalStoragePopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_EXTERNAL_STORAGE_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "krate-create.h"
-
-KrateCreatePopup::KrateCreatePopup()
- : SyspopupInterface("IDS_DPM_KRATE_CREATE", "IDS_DPM_BODY_KRATE_CREATE"),
- setupWizard("org.tizen.krate-setup-wizard")
-{
-}
-
-KrateCreatePopup::~KrateCreatePopup()
-{
-}
-
-void KrateCreatePopup::initialize()
-{
- notification.setTitle("IDS_DPM_NOTI_KRATE_CREATE");
- notification.setContent("IDS_DPM_NOTI_BODY_KRATE_CREATE");
- notification.setImage("/usr/share/icons/default/small/org.tizen.dpm-syspopup.png");
- setupWizard.setData("mode", "create");
-}
-
-void KrateCreatePopup::contribute(const std::string &userData)
-{
- setupWizard.setData("krate", userData);
- if (!isManufacturer("Tizen")) {
- setupWizard.setAppID("com.samsung.krate-setup-wizard");
- }
- notification.setAppControl(setupWizard);
-
- createDefaultPopup();
- if (popup == nullptr) {
- throw runtime::Exception("failed to create popup interface");
- }
-
- popup->onDispose = [this]() {
- notification.post();
- ::ui_app_exit();
- };
-
- popup->setButton("IDS_TPLATFORM_BUTTON2_CANCEL",
- [this](void *event_info) {
- popup->dispose();
- },
- "IDS_TPLATFORM_BUTTON_OK",
- [this](void *event_info) {
- popup->onDispose = [this]() {
- setupWizard.launch();
- ::ui_app_exit();
- };
- popup->dispose();
- });
-}
-
-void KrateCreatePopup::dispose()
-{
-}
-
-SyspopupManager<KrateCreatePopup> krateCreatePopup("krate-create");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_KRATE_CREATE_SYSPOPUP_H__
-#define __DPM_KRATE_CREATE_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class KrateCreatePopup : public SyspopupInterface {
-public:
- KrateCreatePopup();
- virtual ~KrateCreatePopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-
-private:
- AppControl setupWizard;
- Notification notification;
-};
-
-#endif /* __DPM_KRATE_CREATE_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "krate-remove.h"
-
-KrateRemovePopup::KrateRemovePopup()
- : SyspopupInterface("IDS_DPM_KRATE_REMOVE", "IDS_DPM_BODY_KRATE_REMOVE"),
- setupWizard("org.tizen.krate-setup-wizard")
-{
-}
-
-KrateRemovePopup::~KrateRemovePopup()
-{
-}
-
-void KrateRemovePopup::initialize()
-{
- notification.setTitle("IDS_DPM_NOTI_KRATE_REMOVE");
- notification.setContent("IDS_DPM_NOTI_BODY_KRATE_REMOVE");
- notification.setImage("/usr/share/icons/default/small/org.tizen.dpm-syspopup.png");
- setupWizard.setData("mode", "remove");
-}
-
-void KrateRemovePopup::contribute(const std::string &userData)
-{
- setupWizard.setData("krate", userData);
- if (!isManufacturer("Tizen")) {
- setupWizard.setAppID("com.samsung.krate-setup-wizard");
- }
- notification.setAppControl(setupWizard);
-
- createDefaultPopup();
- if (popup == nullptr) {
- throw runtime::Exception("failed to create popup interface");
- }
- popup->onDispose = [this]() {
- notification.post();
- ::ui_app_exit();
- };
- popup->setButton("IDS_TPLATFORM_BUTTON2_CANCEL",
- [this](void *event_info) {
- popup->dispose();
- },
- "IDS_TPLATFORM_BUTTON_OK",
- [this](void *event_info) {
- popup->onDispose = [this]() {
- setupWizard.launch();
- ::ui_app_exit();
- };
- popup->dispose();
- });
-}
-
-void KrateRemovePopup::dispose()
-{
-}
-
-SyspopupManager<KrateRemovePopup> krateRemovePopup("krate-remove");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_KRATE_REMOVE_SYSPOPUP_H__
-#define __DPM_KRATE_REMOVE_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class KrateRemovePopup : public SyspopupInterface {
-public:
- KrateRemovePopup();
- virtual ~KrateRemovePopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-
-private:
- AppControl setupWizard;
- Notification notification;
-};
-
-#endif /* __DPM_KRATE_REMOVE_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "location.h"
-
-LocationPopup::LocationPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO")
-{
-}
-
-LocationPopup::~LocationPopup()
-{
-}
-
-void LocationPopup::initialize()
-{
-}
-
-void LocationPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void LocationPopup::dispose()
-{
-}
-
-SyspopupManager<LocationPopup> locationPopup("location");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_LOCATION_SYSPOPUP_H__
-#define __DPM_LOCATION_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class LocationPopup : public SyspopupInterface {
-public:
- LocationPopup();
- virtual ~LocationPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_LOCATION_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "message-retrieving.h"
-
-MessageRetrievingPopup::MessageRetrievingPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_RETRIEVING_MESSAGES")
-{
-}
-
-MessageRetrievingPopup::~MessageRetrievingPopup()
-{
-}
-
-void MessageRetrievingPopup::initialize()
-{
-}
-
-void MessageRetrievingPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void MessageRetrievingPopup::dispose()
-{
-}
-
-SyspopupManager<MessageRetrievingPopup> messageRetrievingPopup("message-retrieving");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_MESSAGE_RETRIEVING_SYSPOPUP_H__
-#define __DPM_MESSAGE_RETRIEVING_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class MessageRetrievingPopup : public SyspopupInterface {
-public:
- MessageRetrievingPopup();
- virtual ~MessageRetrievingPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_MESSAGE_RETRIEVING_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "message-sending.h"
-
-MessageSendingPopup::MessageSendingPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_SENDING_MESSAGES")
-{
-}
-
-MessageSendingPopup::~MessageSendingPopup()
-{
-}
-
-void MessageSendingPopup::initialize()
-{
-}
-
-void MessageSendingPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void MessageSendingPopup::dispose()
-{
-}
-
-SyspopupManager<MessageSendingPopup> messageSendingPopup("message-sending");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_MESSAGE_SENDING_SYSPOPUP_H__
-#define __DPM_MESSAGE_SENDING_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class MessageSendingPopup : public SyspopupInterface {
-public:
- MessageSendingPopup();
- virtual ~MessageSendingPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_MESSAGE_SENDING_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "microphone.h"
-
-MicrophonePopup::MicrophonePopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_MIC")
-{
-}
-
-MicrophonePopup::~MicrophonePopup()
-{
-}
-
-void MicrophonePopup::initialize()
-{
-}
-
-void MicrophonePopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void MicrophonePopup::dispose()
-{
-}
-
-SyspopupManager<MicrophonePopup> microphonePopup("microphone");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_MICROPHONE_SYSPOPUP_H__
-#define __DPM_MICROPHONE_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class MicrophonePopup : public SyspopupInterface {
-public:
- MicrophonePopup();
- virtual ~MicrophonePopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_MICROPHONE_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "nfc.h"
-
-NFCPopup::NFCPopup()
- : SyspopupInterface(true, "IDS_ST_BODY_NFC")
-{
-}
-
-NFCPopup::~NFCPopup()
-{
-}
-
-void NFCPopup::initialize()
-{
-}
-
-void NFCPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void NFCPopup::dispose()
-{
-}
-
-SyspopupManager<NFCPopup> nfcPopup("nfc");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_NFC_SYSPOPUP_H__
-#define __DPM_NFC_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class NFCPopup : public SyspopupInterface {
-public:
- NFCPopup();
- virtual ~NFCPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_NFC_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "package-installation.h"
-
-PackageInstallationPopup::PackageInstallationPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_INSTALLATION_OF_APPS")
-{
-}
-
-PackageInstallationPopup::~PackageInstallationPopup()
-{
-}
-
-void PackageInstallationPopup::initialize()
-{
-}
-
-void PackageInstallationPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void PackageInstallationPopup::dispose()
-{
-}
-
-SyspopupManager<PackageInstallationPopup> packageInstallationPopup("package-installation");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_PACKAGE_INSTALLATION_SYSPOPUP_H__
-#define __DPM_PACKAGE_INSTALLATION_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class PackageInstallationPopup : public SyspopupInterface {
-public:
- PackageInstallationPopup();
- virtual ~PackageInstallationPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_PACKAGE_INSTALLATION_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "package-uninstallation.h"
-
-PackageUninstallationPopup::PackageUninstallationPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_UNINSTALLING_APPS")
-{
-}
-
-PackageUninstallationPopup::~PackageUninstallationPopup()
-{
-}
-
-void PackageUninstallationPopup::initialize()
-{
-}
-
-void PackageUninstallationPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void PackageUninstallationPopup::dispose()
-{
-}
-
-SyspopupManager<PackageUninstallationPopup> packageUninstallationPopup("package-uninstallation");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_PACKAGE_UNINSTALLATION_SYSPOPUP_H__
-#define __DPM_PACKAGE_UNINSTALLATION_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class PackageUninstallationPopup : public SyspopupInterface {
-public:
- PackageUninstallationPopup();
- virtual ~PackageUninstallationPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_PACKAGE_UNINSTALLATION_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <vconf.h>
-#include "password.h"
-
-PasswordPopup::PasswordPopup()
- : SyspopupInterface("IDS_ST_BODY_PASSWORD", "IDS_IDLE_POP_THE_SECURITY_POLICY_REQUIRES_YOU_TO_CHANGE_YOUR_PASSWORD"),
- setAppControl("org.tizen.setting-locktype"), verifyAppControl("org.tizen.setting-password")
-{
-}
-
-PasswordPopup::~PasswordPopup()
-{
-}
-
-void PasswordPopup::initialize()
-{
- setAppControl.setData("caller", "DPM");
- setAppControl.setData(APP_CONTROL_DATA_SHIFT_WINDOW, "true");
-}
-
-void PasswordPopup::contribute(const std::string &userData)
-{
- createDefaultPopup();
- if (popup == nullptr) {
- throw runtime::Exception("Failed to create popup interface");
- }
-
- popup->deleteEcoreHandler(ECORE_EVENT_KEY_DOWN);
-
- auto replyHandler = [this](AppControl *ug, AppControl *reply, int result) {
- if (result != APP_CONTROL_RESULT_SUCCEEDED) {
- popup->dispose();
- return;
- }
- std::string resultData = reply->getData("result");
-
- if (resultData.compare("SETTING_PW_TYPE_ENTER_LOCK_TYPE") == 0
- || resultData.compare("SETTING_PW_TYPE_VERIFY_FP_ALT_PASSWORD") == 0) {
- std::string current(reply->getData("current"));
- if (!current.empty()) {
- setAppControl.setData("current", current);
- setAppControl.launch();
- }
- }
- popup->dispose();
- };
-
- auto z3ConfirmEvent = [this, replyHandler](void *event_info) {
- int lockType = 0;
- ::vconf_get_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, &lockType);
-
- if (lockType == SETTING_SCREEN_LOCK_TYPE_PASSWORD
- || lockType == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD) {
- verifyAppControl.setData("caller", "DPM");
- verifyAppControl.setData(APP_CONTROL_DATA_SHIFT_WINDOW, "true");
- verifyAppControl.setData("viewtype", "SETTING_PW_TYPE_ENTER_LOCK_TYPE");
- verifyAppControl.launch(std::forward<AppControl::ReplyHandler>(replyHandler));
- } else {
- setAppControl.launch();
- popup->dispose();
- }
- };
-
- auto z2ConfirmEvent = [this](void *event_info) {
- AppControl setPassword("com.samsung.setting.locktype");
- setPassword.setData("caller", "dpm");
- setPassword.launch();
- };
-
- if (isManufacturer("Tizen")) {
- popup->setButton("IDS_TPLATFORM_BUTTON_OK", std::forward<Widget::SmartHandler>(z3ConfirmEvent));
- } else {
- popup->setButton("IDS_TPLATFORM_BUTTON_OK", std::forward<Widget::SmartHandler>(z2ConfirmEvent));
- }
-}
-
-void PasswordPopup::dispose()
-{
-}
-
-SyspopupManager<PasswordPopup> passwordPopup("password-enforce-change");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_PASSWORD_SYSPOPUP_H__
-#define __DPM_PASSWORD_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class PasswordPopup : public SyspopupInterface {
-public:
- PasswordPopup();
- virtual ~PasswordPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-
-private:
- AppControl setAppControl;
- AppControl verifyAppControl;
-};
-
-#endif /* __DPM_PASSWORD_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "popimap-email.h"
-
-PopimapEmailPopup::PopimapEmailPopup()
- : SyspopupInterface("IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL")
-{
-}
-
-PopimapEmailPopup::~PopimapEmailPopup()
-{
-}
-
-void PopimapEmailPopup::initialize()
-{
-}
-
-void PopimapEmailPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void PopimapEmailPopup::dispose()
-{
-}
-
-SyspopupManager<PopimapEmailPopup> popimapEmailPopup("popimap-email");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_POPIMAP_EMAIL_SYSPOPUP_H__
-#define __DPM_POPIMAP_EMAIL_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class PopimapEmailPopup : public SyspopupInterface {
-public:
- PopimapEmailPopup();
- virtual ~PopimapEmailPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_POPIMAP_EMAIL_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "screen-capture.h"
-
-ScreenCapturePopup::ScreenCapturePopup()
- : SyspopupInterface(true, "IDS_MF_BODY_SCREEN_CAPTURE_M_NOUN")
-{
-}
-
-ScreenCapturePopup::~ScreenCapturePopup()
-{
-}
-
-void ScreenCapturePopup::initialize()
-{
-}
-
-void ScreenCapturePopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void ScreenCapturePopup::dispose()
-{
-}
-
-SyspopupManager<ScreenCapturePopup> screenCapturePopup("screen-capture");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SCREEN_CAPTURE_SYSPOPUP_H__
-#define __DPM_SCREEN_CAPTURE_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class ScreenCapturePopup : public SyspopupInterface {
-public:
- ScreenCapturePopup();
- virtual ~ScreenCapturePopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_SCREEN_CAPTURE_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "settings-changes.h"
-
-SettingsChangesPopup::SettingsChangesPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_LOCATION_INFO")
-{
-}
-
-SettingsChangesPopup::~SettingsChangesPopup()
-{
-}
-
-void SettingsChangesPopup::initialize()
-{
-}
-
-void SettingsChangesPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void SettingsChangesPopup::dispose()
-{
-}
-
-SyspopupManager<SettingsChangesPopup> settingsChangesPopup("settings-changes");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SETTINGS_CHANGES_SYSPOPUP_H__
-#define __DPM_SETTINGS_CHANGES_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class SettingsChangesPopup : public SyspopupInterface {
-public:
- SettingsChangesPopup();
- virtual ~SettingsChangesPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_SETTINGS_CHANGES_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "usb-client.h"
-
-USBClientPopup::USBClientPopup()
- : SyspopupInterface("IDS_USB_POP_SECURITY_POLICY_RESTRICTS_USE_OF_THE_PC_CONNECTION")
-{
-}
-
-USBClientPopup::~USBClientPopup()
-{
-}
-
-void USBClientPopup::initialize()
-{
-}
-
-void USBClientPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void USBClientPopup::dispose()
-{
-}
-
-SyspopupManager<USBClientPopup> usbClientPopup("usb-client");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_USB_CLIENT_SYSPOPUP_H__
-#define __DPM_USB_CLIENT_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class USBClientPopup : public SyspopupInterface {
-public:
- USBClientPopup();
- virtual ~USBClientPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_USB_CLIENT_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "wifi-hotspot.h"
-
-WiFiHotSpotPopup::WiFiHotSpotPopup()
- : SyspopupInterface(true, "IDS_MOBILEAP_MBODY_HOTSPOT_SPRINT")
-{
-}
-
-WiFiHotSpotPopup::~WiFiHotSpotPopup()
-{
-}
-
-void WiFiHotSpotPopup::initialize()
-{
-}
-
-void WiFiHotSpotPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void WiFiHotSpotPopup::dispose()
-{
-}
-
-SyspopupManager<WiFiHotSpotPopup> wifiHotspotPopup("wifi-hotspot");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_WIFI_HOTSPOT_SYSPOPUP_H__
-#define __DPM_WIFI_HOTSPOT_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class WiFiHotSpotPopup : public SyspopupInterface {
-public:
- WiFiHotSpotPopup();
- virtual ~WiFiHotSpotPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_WIFI_HOTSPOT_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "wifi.h"
-
-WiFiPopup::WiFiPopup()
- : SyspopupInterface("IDS_IDLE_TPOP_SECURITY_POLICY_PREVENTS_USE_OF_WI_FI")
-{
-}
-
-WiFiPopup::~WiFiPopup()
-{
-}
-
-void WiFiPopup::initialize()
-{
-}
-
-void WiFiPopup::contribute(const std::string &userData)
-{
- createToastPopup();
-}
-
-void WiFiPopup::dispose()
-{
-}
-
-SyspopupManager<WiFiPopup> wifiPopup("wifi");
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_WIFI_SYSPOPUP_H__
-#define __DPM_WIFI_SYSPOPUP_H__
-
-#include "../interface.h"
-
-class WiFiPopup : public SyspopupInterface {
-public:
- WiFiPopup();
- virtual ~WiFiPopup();
-
- void initialize();
- void contribute(const std::string &userData);
- void dispose();
-};
-
-#endif /* __DPM_WIFI_SYSPOPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_H__
-#define __DPM_SYSPOPUP_H__
-
-#include "application.h"
-#include "interface.h"
-
-#ifdef LOG_TAG
-#undef LOG_TAG
-#endif
-#define LOG_TAG "org.tizen.dpm-syspopup"
-
-class DPMSyspopup : public Application {
-public:
- DPMSyspopup();
- ~DPMSyspopup();
-
- void onAppControl();
- void onTerminate();
-
-private:
- std::string id;
- std::string userData;
-};
-
-#endif
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "appcontrol.h"
-
-AppControl::AppControl(app_control_h handle)
- : appControl(nullptr)
-{
- if (handle != nullptr) {
- ::app_control_clone(&appControl, handle);
- }
- replyEventHandler = [](AppControl *, AppControl *, int) {
- };
-}
-
-AppControl::AppControl(const std::string &id)
- : appControl(nullptr)
-{
- ::app_control_create(&appControl);
- setAppID(id);
-}
-
-AppControl::~AppControl()
-{
- if (appControl != nullptr)
- ::app_control_destroy(appControl);
-}
-
-AppControl::operator app_control_h()
-{
- return appControl;
-}
-
-void AppControl::setAppID(const std::string &id)
-{
- ::app_control_set_app_id(appControl, id.c_str());
-}
-
-void AppControl::setData(const std::string &key, const std::string &data)
-{
- ::app_control_add_extra_data(appControl, key.c_str(), data.c_str());
-}
-
-std::string AppControl::getData(const std::string &key)
-{
- std::string data("");
- char *appData = nullptr;
-
- ::app_control_get_extra_data(appControl, key.c_str(), &appData);
- if (appData) {
- data = appData;
- ::free(appData);
- }
- return data;
-}
-
-void AppControl::launch(void)
-{
- ::app_control_send_launch_request(appControl, nullptr, nullptr);
-}
-
-void AppControl::launch(ReplyHandler &&handler)
-{
- replyEventHandler = std::move(handler);
- ::app_control_send_launch_request(appControl, replyEventHandlerDispatcher, reinterpret_cast<void *>(this));
-}
-
-void AppControl::replyEventHandlerDispatcher(app_control_h ug, app_control_h reply, app_control_result_e result, void *data)
-{
- AppControl *appControl = reinterpret_cast<AppControl *>(data);
- AppControl ugControl(ug);
- AppControl replyControl(reply);
-
- appControl->replyEventHandler(&ugControl, &replyControl, result);
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_APPCONTROL_H__
-#define __DPM_SYSPOPUP_APPCONTROL_H__
-
-#include <functional>
-#include <app_control_internal.h>
-
-class AppControl {
-public:
- typedef std::function<void(AppControl *, AppControl *, int)> ReplyHandler;
- AppControl(app_control_h handle);
- AppControl(const std::string &id);
- ~AppControl();
-
- operator app_control_h();
-
- void setAppID(const std::string &id);
- void setData(const std::string &key, const std::string &data);
- std::string getData(const std::string &key);
-
- void launch();
- void launch(ReplyHandler &&handler);
- static void replyEventHandlerDispatcher(app_control_h ug, app_control_h reply, app_control_result_e result, void *data);
-public:
- ReplyHandler replyEventHandler;
-private:
- app_control_h appControl;
-};
-
-#endif
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "button.h"
-
-Button::Button(Widget *parent)
- : Widget("Button", ::elm_button_add(evasObject(parent)))
-{
- onClick = [](void *event_info) {
- };
-
- addSmartHandler("clicked", [this](void *event_info) {
- this->onClick(event_info);
- });
-}
-
-Button::~Button()
-{
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_BUTTON_H__
-#define __DPM_SYSPOPUP_BUTTON_H__
-
-#include <functional>
-#include "widget.h"
-
-class Button : public Widget {
-public:
- Button(Widget *parent);
- ~Button();
-
- std::function<void(void*)> onClick;
-};
-
-#endif
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "image.h"
-
-Image::Image(Widget *parent)
- : Widget("Image", ::elm_image_add(evasObject(parent)))
-{
- evas_object_size_hint_weight_set(evasObject(this), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-}
-
-Image::~Image()
-{
-}
-
-void Image::setFile(const std::string &path)
-{
- ::elm_image_file_set(evasObject(this), path.c_str(), NULL);
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_IMAGE_H__
-#define __DPM_SYSPOPUP_IMAGE_H__
-
-#include "widget.h"
-
-class Image : public Widget {
-public:
- Image(Widget *parent);
- ~Image();
-
- void setFile(const std::string &path);
-};
-
-#endif
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "layout.h"
-
-Layout::Layout(Widget *parent)
- : Widget("Layout", ::elm_layout_add(evasObject(parent)))
-{
-}
-
-Layout::~Layout()
-{
-}
-
-void Layout::setTheme(const std::string &clas, const std::string &group, const std::string &style)
-{
- ::elm_layout_theme_set(evasObject(this), clas.c_str(), group.c_str(), style.c_str());
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_LAYOUT_H__
-#define __DPM_SYSPOPUP_LAYOUT_H__
-
-#include "widget.h"
-
-class Layout : public Widget {
-public:
- Layout(Widget *parent);
- ~Layout();
-
- void setTheme(const std::string &clas, const std::string &group, const std::string &style);
-};
-
-#endif
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "notification.h"
-
-Notification::Notification()
-{
- notification = ::notification_create(NOTIFICATION_TYPE_NOTI);
-}
-
-Notification::~Notification()
-{
- if (notification)
- ::notification_free(notification);
-}
-
-void Notification::setTitle(const std::string &title)
-{
- int ret;
-
- ret = ::notification_set_text(notification, NOTIFICATION_TEXT_TYPE_TITLE,
- dgettext("dpm-syspopup", title.c_str()), NULL,
- NOTIFICATION_VARIABLE_TYPE_NONE);
-
- if (ret != NOTIFICATION_ERROR_NONE)
- throw runtime::Exception("Failed to set title to noti");
-}
-
-void Notification::setContent(const std::string &content)
-{
- int ret;
-
- ret = ::notification_set_text(notification, NOTIFICATION_TEXT_TYPE_CONTENT,
- dgettext("dpm-syspopup", content.c_str()), NULL,
- NOTIFICATION_VARIABLE_TYPE_NONE);
-
- if (ret != NOTIFICATION_ERROR_NONE)
- throw runtime::Exception("Failed to set content to noti");
-}
-
-void Notification::setImage(const std::string &path)
-{
- int ret;
-
- ret = ::notification_set_image(notification, NOTIFICATION_IMAGE_TYPE_THUMBNAIL,
- path.c_str());
-
- if (ret != NOTIFICATION_ERROR_NONE)
- throw runtime::Exception("Failed to set image to noti");
-}
-
-
-void Notification::setAppControl(AppControl &appControl)
-{
- int ret;
-
- ret = ::notification_set_launch_option(notification,
- NOTIFICATION_LAUNCH_OPTION_APP_CONTROL, appControl);
-
- if (ret != NOTIFICATION_ERROR_NONE)
- throw runtime::Exception("Failed to set launch option to noti");
-}
-
-void Notification::post()
-{
- int ret;
-
- ret = ::notification_post(notification);
-
- if (ret != NOTIFICATION_ERROR_NONE)
- throw runtime::Exception("Failed to post the noti");
-}
-
-void Notification::dispose()
-{
- ::notification_delete(notification);
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_NOTIFICATION_H__
-#define __DPM_SYSPOPUP_NOTIFICATION_H__
-
-#include <notification.h>
-#include "widget.h"
-#include "appcontrol.h"
-
-class Notification {
-public:
- Notification();
- ~Notification();
-
- void setTitle(const std::string &title);
- void setContent(const std::string &content);
- void setImage(const std::string &path);
- void setAppControl(AppControl &appcontrol);
- void post();
- void dispose();
-private:
- notification_h notification;
-};
-
-#endif
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "popup.h"
-
-Popup::Popup(Widget *parent)
- : Widget("Popup", ::elm_popup_add(evasObject(parent))), leftButton(this), rightButton(this)
-{
- onDispose = [this]() {
- ::ui_app_exit();
- };
-
- addEcoreHandler(ECORE_EVENT_KEY_DOWN,
- [this](void *event) {
- Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event;
- if (!strcmp(ev->keyname, "XF86Home")
- || !strcmp(ev->keyname, "XF86Back")) {
- this->dispose();
- }
- return EINA_TRUE;
- });
-}
-
-Popup::~Popup()
-{
-}
-
-void Popup::setTimeOut(double time)
-{
- ::elm_popup_timeout_set(evasObject(this), time);
- addSmartHandler("timeout", [this](void *event_info) {
- this->dispose();
- });
-}
-
-void Popup::setAlign(double align)
-{
- ::elm_popup_align_set(evasObject(this), ELM_NOTIFY_ALIGN_FILL, align);
-}
-
-void Popup::setTitleText(const std::string &text)
-{
- setText("title,text", text.c_str());
- ::elm_object_item_part_text_translatable_set(evasObject(this), "title,text", EINA_TRUE);
-}
-
-void Popup::setContentText(const std::string &text)
-{
- setText(text);
-}
-
-void Popup::setPrefixContentText(const std::string &text)
-{
- char *prefix = NULL;
- char *contentText = NULL;
- char prefixText[PATH_MAX] = "";
-
- prefix = dgettext("dpm-syspopup", "IDS_IDLE_TPOP_SECURITY_POLICY_RESTRICTS_USE_OF_PS");
- contentText = dgettext("dpm-syspopup", text.c_str());
-
- ::snprintf(prefixText, PATH_MAX, prefix, contentText);
-
- setText(prefixText);
-}
-
-void Popup::setButton(const std::string &text, SmartHandler &&handler)
-{
- leftButton.setText(text);
- leftButton.onClick = std::move(handler);
- setContent("button1", &leftButton);
-}
-
-void Popup::setButton(const std::string &leftText, SmartHandler &&leftHandler, const std::string &rightText, SmartHandler &&rightHandler)
-{
- leftButton.setText(leftText);
- leftButton.onClick = std::move(leftHandler);
- setContent("button1", &leftButton);
-
- rightButton.setText(rightText);
- rightButton.onClick = std::move(rightHandler);
- setContent("button2", &rightButton);
-}
-
-MobileToastPopup::MobileToastPopup(Widget *parent)
- : Popup(parent)
-{
- setStyle("toast");
- setTimeOut(3.0);
-}
-
-MobileToastPopup::~MobileToastPopup()
-{
-}
-
-WearableToastPopup::WearableToastPopup(Widget *parent)
- : Popup(parent)
-{
- setStyle("toast/circle");
- setTimeOut(3.0);
-}
-
-WearableToastPopup::~WearableToastPopup()
-{
-}
-
-void WearableToastPopup::setContentText(const std::string &text)
-{
- setText("elm.text", text);
-}
-
-MobileDefaultPopup::MobileDefaultPopup(Widget *parent)
- : Popup(parent)
-{
- setStyle("default");
- setAlign(1.0);
-}
-
-MobileDefaultPopup::~MobileDefaultPopup()
-{
-}
-
-void MobileDefaultPopup::setButton(const std::string &text, SmartHandler &&handler)
-{
- Popup::setButton(text, std::forward<SmartHandler>(handler));
- leftButton.setStyle("popup");
-}
-
-void MobileDefaultPopup::setButton(const std::string &leftText, SmartHandler &&leftHandler, const std::string &rightText, SmartHandler &&rightHandler)
-{
- Popup::setButton(leftText, std::forward<SmartHandler>(leftHandler), rightText, std::forward<SmartHandler>(rightHandler));
- leftButton.setStyle("popup");
- rightButton.setStyle("popup");
-}
-
-WearableDefaultPopup::WearableDefaultPopup(Widget *parent)
- : Popup(parent), layout(this), leftButtonImage(&leftButton), rightButtonImage(&rightButton)
-{
- setStyle("circle");
- setAlign(1.0);
- setContent(&layout);
-}
-
-WearableDefaultPopup::~WearableDefaultPopup()
-{
-}
-
-void WearableDefaultPopup::setTitleText(const std::string &text)
-{
- layout.setText("elm.text.title", text.c_str());
-}
-
-void WearableDefaultPopup::setContentText(const std::string &text)
-{
- layout.setText("elm.text", text.c_str());
-}
-
-void WearableDefaultPopup::setButton(const std::string &text, SmartHandler &&handler)
-{
- layout.setTheme("layout", "popup", "content/circle/buttons1");
-
- leftButton.setStyle("bottom");
- leftButton.onClick = std::move(handler);
-
- leftButtonImage.setFile("/usr/apps/org.tizen.dpm-syspopup/res/images/tw_ic_popup_btn_delete.png");
- leftButton.setContent(&leftButtonImage);
-}
-
-void WearableDefaultPopup::setButton(const std::string &leftText, SmartHandler &&leftHandler, const std::string &rightText, SmartHandler &&rightHandler)
-{
- layout.setTheme("layout", "popup", "content/circle/buttons2");
-
- leftButton.setStyle("popup/circle/left");
- leftButton.onClick = std::move(leftHandler);
-
- leftButtonImage.setFile("/usr/apps/org.tizen.dpm-syspopup/res/images/tw_ic_popup_btn_delete.png");
- leftButton.setContent(&leftButtonImage);
-
- rightButton.setStyle("popup/circle/right");
- rightButton.onClick = std::move(rightHandler);
-
- rightButtonImage.setFile("/usr/apps/org.tizen.dpm-syspopup/res/images/tw_ic_popup_btn_check.png");
- rightButton.setContent(&rightButtonImage);
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_POPUP_H__
-#define __DPM_SYSPOPUP_POPUP_H__
-
-#include <memory>
-
-#include "widget.h"
-#include "button.h"
-#include "layout.h"
-#include "image.h"
-
-struct PopupInfo {
- int type;
- std::string title;
- std::string content;
-};
-
-class Popup : public Widget {
-public:
- Popup(Widget *parent);
- virtual ~Popup();
-
- void setTimeOut(double time);
- void setAlign(double align);
-
- virtual void setTitleText(const std::string &text);
- virtual void setContentText(const std::string &text);
- virtual void setPrefixContentText(const std::string &text);
- virtual void setButton(const std::string &text, SmartHandler &&handler);
- virtual void setButton(const std::string &leftText, SmartHandler &&leftHandler, const std::string &rightText, SmartHandler &&rightHandler);
-
- std::function<void()> onDelete;
-protected:
- Button leftButton;
- Button rightButton;
-};
-
-class MobileToastPopup : public Popup {
-public:
- MobileToastPopup(Widget *parent);
- ~MobileToastPopup();
-};
-
-class WearableToastPopup : public Popup {
-public:
- WearableToastPopup(Widget *parent);
- ~WearableToastPopup();
-
- void setContentText(const std::string &text);
-};
-
-class MobileDefaultPopup : public Popup {
-public:
- MobileDefaultPopup(Widget *parent);
- ~MobileDefaultPopup();
-
- void setButton(const std::string &text, SmartHandler &&handler);
- void setButton(const std::string &leftText, SmartHandler &&leftHandler, const std::string &rightText, SmartHandler &&rightHandler);
-};
-
-class WearableDefaultPopup : public Popup {
-public:
- WearableDefaultPopup(Widget *parent);
- ~WearableDefaultPopup();
-
- void setTitleText(const std::string &text);
- void setContentText(const std::string &text);
- void setButton(const std::string &text, SmartHandler &&handler);
- void setButton(const std::string &leftText, SmartHandler &&leftHandler, const std::string &rightText, SmartHandler &&rightHandler);
-
- Layout layout;
-
- Image leftButtonImage;
- Image rightButtonImage;
-};
-
-#endif /* __DPM_SYSPOPUP_POPUP_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "widget.h"
-
-Widget::Widget(const std::string &t, Evas_Object *obj)
- : object(obj), tag(t), disposed(false)
-{
- onShow = [this]() {
- };
- onHide = [this]() {
- };
- onDispose = [this]() {
- };
-
- addEventHandler(EVAS_CALLBACK_SHOW, [this](void *event_info) {
- this->onShow();
- });
- addEventHandler(EVAS_CALLBACK_HIDE, [this](void *event_info) {
- this->onHide();
- });
- addEventHandler(EVAS_CALLBACK_DEL, [this](void *event_info) {
- this->onDispose();
- });
-
- ::evas_object_size_hint_weight_set(object, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-}
-
-Widget::~Widget()
-{
- if (!disposed)
- dispose();
-
- eventList.clear();
- smartList.clear();
- ecoreList.clear();
-}
-
-void Widget::setText(const std::string &text)
-{
- ::elm_object_text_set(object, dgettext("dpm-syspopup", text.c_str()));
-}
-
-void Widget::setText(const std::string &part, const std::string &text)
-{
- ::elm_object_part_text_set(object, part.c_str(), dgettext("dpm-syspopup", text.c_str()));
-}
-
-void Widget::setStyle(const std::string &style)
-{
- ::elm_object_style_set(object, style.c_str());
-}
-
-void Widget::setContent(Widget *content)
-{
- ::elm_object_content_set(object, evasObject(content));
-}
-
-void Widget::setContent(const std::string &part, Widget *content)
-{
- ::elm_object_part_content_set(object, part.c_str(), evasObject(content));
-}
-
-void Widget::show(void)
-{
- ::evas_object_show(object);
-}
-
-void Widget::hide(void)
-{
- ::evas_object_hide(object);
-}
-
-void Widget::dispose(void)
-{
- if (disposed)
- return;
-
- disposed = true;
- ::evas_object_del(object);
-}
-
-Evas_Object *Widget::evasObject(Widget *widget)
-{
- return widget ? widget->object : nullptr;
-}
-
-void Widget::smartHandlerDispatcher(void *data, Evas_Object *obj, void *event_info)
-{
- SmartHandler *handler = reinterpret_cast<SmartHandler *>(data);
- (*handler)(event_info);
-}
-
-void Widget::eventHandlerDispatcher(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- EventHandler *handler = reinterpret_cast<EventHandler *>(data);
- (*handler)(event_info);
-}
-
-Eina_Bool Widget::ecoreHandlerDispatcher(void *data, int type, void *event)
-{
- bool ret = EINA_FALSE;
- EcoreHandler *handler = reinterpret_cast<EcoreHandler *>(data);
- ret = (*handler)(event);
- return ret;
-}
-
-void Widget::addEventHandler(Evas_Callback_Type type, EventHandler &&handler)
-{
- eventList[type] = std::move(handler);
- ::evas_object_event_callback_add(object, type, eventHandlerDispatcher, reinterpret_cast<void *>(&eventList[type]));
-}
-
-void Widget::addSmartHandler(const std::string &event, SmartHandler &&handler)
-{
- smartList[event] = std::move(handler);
- ::evas_object_smart_callback_add(object, event.c_str(), smartHandlerDispatcher, reinterpret_cast<void *>(&smartList[event]));
-}
-
-void Widget::addEcoreHandler(int type, EcoreHandler &&handler)
-{
- ecoreList[type].handler = std::move(handler);
- ecoreList[type].ecoreHandler = ::ecore_event_handler_add(type, ecoreHandlerDispatcher, reinterpret_cast<void *>(&ecoreList[type].handler));
-}
-
-void Widget::deleteEcoreHandler(int type)
-{
- if (ecoreList.find(type) != ecoreList.end() && ecoreList[type].ecoreHandler != nullptr) {
- ::ecore_event_handler_del(ecoreList[type].ecoreHandler);
- }
- ecoreList[type].ecoreHandler = nullptr;
- ecoreList.erase(type);
-}
-
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_WIDGET_H__
-#define __DPM_SYSPOPUP_WIDGET_H__
-
-#include <functional>
-#include <unordered_map>
-
-#include <app.h>
-#include <app_common.h>
-#include <bundle.h>
-#include <system_settings.h>
-#include <Elementary.h>
-#include <efl_util.h>
-#include <klay/exception.h>
-
-class Widget {
-public:
- typedef std::function<void(void *event)> EventHandler;
- typedef std::function<void(void *event)> SmartHandler;
- typedef std::function<Eina_Bool(void *event)> EcoreHandler;
-
- virtual ~Widget();
-
- void setText(const std::string &text);
- void setText(const std::string &part, const std::string &text);
- void setStyle(const std::string &style);
- void setContent(Widget *content);
- void setContent(const std::string &part, Widget *content);
- void show();
- void hide();
- void dispose();
-
- void addEventHandler(Evas_Callback_Type type, EventHandler &&handler);
- void addSmartHandler(const std::string &event, SmartHandler &&handler);
- void addEcoreHandler(int type, EcoreHandler &&handler);
- void deleteEcoreHandler(int type);
-
- static void smartHandlerDispatcher(void *data, Evas_Object *obj, void *event_info);
- static void eventHandlerDispatcher(void *data, Evas *evas, Evas_Object *obj, void *event_info);
- static Eina_Bool ecoreHandlerDispatcher(void *data, int type, void *event);
-
- std::function<void()> onShow;
- std::function<void()> onHide;
- std::function<void()> onDispose;
-
-protected:
- Widget(const std::string &t, Evas_Object *obj);
- virtual Evas_Object *evasObject(Widget *widget);
-
-protected:
- std::unordered_map<int, EventHandler> eventList;
- std::unordered_map<std::string, SmartHandler> smartList;
-
- struct EcoreInfo {
- EcoreInfo() : ecoreHandler(nullptr) {
- }
- EcoreHandler handler;
- Ecore_Event_Handler *ecoreHandler;
- };
- std::unordered_map<int, EcoreInfo> ecoreList;
-private:
- Evas_Object *object;
- std::string tag;
- bool disposed;
-};
-
-#endif /* __WIDGET_H__ */
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "window.h"
-
-Window::Window(const std::string &packageName)
- : Widget("Window", ::elm_win_add(NULL, packageName.c_str(), ELM_WIN_NOTIFICATION))
-{
- ::elm_win_title_set(evasObject(this), packageName.c_str());
- setRotate();
- setConfig();
- show();
-}
-
-Window::~Window()
-{
-}
-
-void Window::setRotate()
-{
- int rots[] = {0, 90, 180, 270};
-
- if (::elm_win_wm_rotation_supported_get(evasObject(this)))
- ::elm_win_wm_rotation_available_rotations_set(evasObject(this), rots, 4);
-}
-
-void Window::setConfig()
-{
- ::efl_util_set_notification_window_level(evasObject(this), EFL_UTIL_NOTIFICATION_LEVEL_DEFAULT);
- ::elm_win_borderless_set(evasObject(this), EINA_TRUE);
- ::elm_win_alpha_set(evasObject(this), EINA_TRUE);
- ::elm_win_autodel_set(evasObject(this), EINA_TRUE);
-}
+++ /dev/null
-/*
- *
- * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
-
-#ifndef __DPM_SYSPOPUP_WINDOW_H__
-#define __DPM_SYSPOPUP_WINDOW_H__
-
-#include "widget.h"
-
-class Window : public Widget {
-public:
- Window(const std::string &packageName);
- ~Window();
-
-private:
- void setRotate();
- void setConfig();
-};
-
-#endif /*__DPM_WINDOW_SYSPOPUP_H__*/
+++ /dev/null
-# Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
-#
-# 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.
-#
-
-SET(TARGET_SYSPOPUP device-policy-syspopup)
-
-# TODO: minimize dependencies
-SET(SERVER_DEP klay
- glib-2.0
- gio-2.0
- sqlite3
- bundle
- aul
- appsvc
- pkgmgr
- pkgmgr-info
- vconf
- syspopup-caller
- deviced
- libtzplatform-config
- cynara-client
- cynara-session)
-
-SET(SYSPOPUP syspopup.cpp
- syspopup-service.cpp)
-
-
-PKG_CHECK_MODULES(SERVER_DEPS REQUIRED ${SERVER_DEP})
-
-INCLUDE_DIRECTORIES(${SERVER_DEPS_INCLUDE_DIRS})
-
-ADD_EXECUTABLE(${TARGET_SYSPOPUP} ${SYSPOPUP})
-TARGET_LINK_LIBRARIES(${TARGET_SYSPOPUP} ${SERVER_DEPS_LIBRARIES} policyd)
-
-SET_TARGET_PROPERTIES(${TARGET_SYSPOPUP} PROPERTIES COMPILE_FLAGS "-fPIE")
-SET_TARGET_PROPERTIES(${TARGET_SYSPOPUP} PROPERTIES LINK_FLAGS "-pie")
-
-INSTALL(TARGETS ${TARGET_SYSPOPUP} DESTINATION bin)
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 "syspopup.h"
-#include <klay/gmainloop.h>
-#include <klay/audit/logger.h>
-#include <klay/audit/dlog-sink.h>
-#include <glib.h>
-#include <unistd.h>
-#include <thread>
-
-namespace {
-
-std::unique_ptr<audit::DlogLogSink> _sink = nullptr;
-
-} // namespace
-
-audit::LogSink *SINK = nullptr;
-
-class SyspopupMainLoop {
-public:
- SyspopupMainLoop() :
- mainloop(g_main_loop_new(NULL, FALSE), g_main_loop_unref)
- {
- handle = std::thread(g_main_loop_run, mainloop.get());
- }
- ~SyspopupMainLoop()
- {
- while (!g_main_loop_is_running(mainloop.get())) {
- std::this_thread::yield();
- }
- g_main_loop_quit(mainloop.get());
- handle.join();
- }
-private:
- std::unique_ptr<GMainLoop, void(*)(GMainLoop*)> mainloop;
- std::thread handle;
-};
-
-int main()
-{
- _sink.reset(new audit::DlogLogSink("DPM"));
- SINK = dynamic_cast<audit::LogSink*>((_sink).get());
-
- try {
- SyspopupMainLoop mainloop;
- SyspopupService syspopup;
- syspopup.run();
-
- ::sleep(3);
- } catch (std::exception &e) {
- ERROR(SINK, e.what());
- return EXIT_FAILURE;
- }
-
- return EXIT_SUCCESS;
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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 <unistd.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <string>
-#include <stdexcept>
-
-#include <bundle.h>
-#include <tzplatform_config.h>
-
-#include <klay/exception.h>
-#include <klay/auth/user.h>
-#include <klay/dbus/connection.h>
-#include <klay/audit/logger.h>
-
-#include "pil/launchpad.h"
-
-#include "syspopup.h"
-
-using namespace std::placeholders;
-
-namespace {
-
-const std::string SYSPOPUP_BUS_NAME = "org.tizen.DevicePolicyManager";
-const std::string SYSPOPUP_OBJECT_PATH = "/org/tizen/DevicePolicyManager/Syspopup";
-const std::string SYSPOPUP_INTERFACE = "org.tizen.DevicePolicyManager.Syspopup";
-const std::string SYSPOPUP_METHOD_SHOW = "show";
-
-const std::string manifest =
- "<node>"
- " <interface name='" + SYSPOPUP_INTERFACE + "'>"
- " <method name='" + SYSPOPUP_METHOD_SHOW + "'>"
- " <arg type='s' name='id' direction='in'/>"
- " <arg type='b' name='result' direction='out'/>"
- " </method>"
- " </interface>"
- "</node>";
-
-} // namespace
-
-dbus::Variant SyspopupService::onMethodCall(const std::string& objectPath,
- const std::string& interface,
- const std::string& methodName,
- dbus::Variant parameters)
-{
- if (objectPath != SYSPOPUP_OBJECT_PATH || interface != SYSPOPUP_INTERFACE) {
- throw runtime::Exception("Invalid Interface");
- }
- if (methodName != SYSPOPUP_METHOD_SHOW) {
- throw runtime::Exception("Unknown Method");
- }
-
- const gchar *id = NULL;
- parameters.get("(&s)", &id);
-
- Bundle bundle;
- bundle.add("id", id);
-
- Launchpad launchpad(activeUser);
- launchpad.launch("org.tizen.dpm-syspopup", bundle);
-
- return dbus::Variant("(b)", true);
-}
-
-void SyspopupService::onNameAcquired()
-{
-}
-
-void SyspopupService::onNameLost()
-{
-}
-
-SyspopupService::~SyspopupService()
-{
-}
-
-SyspopupService::SyspopupService()
-{
- runtime::User defaultUser(::tzplatform_getenv(TZ_SYS_DEFAULT_USER));
- activeUser = defaultUser.getUid();
-}
-
-void SyspopupService::run()
-{
- dbus::Connection& connection = dbus::Connection::getSystem();
- connection.setName(SYSPOPUP_BUS_NAME,
- std::bind(&SyspopupService::onNameAcquired, this),
- std::bind(&SyspopupService::onNameLost, this));
-
- connection.registerObject(SYSPOPUP_OBJECT_PATH, manifest,
- std::bind(&SyspopupService::onMethodCall, this, _1, _2, _3, _4),
- nullptr);
-}
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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
- */
-
-#ifndef __DPM_SYSPOPUP_SERVICE_H__
-#define __DPM_SYSPOPUP_SERVICE_H__
-
-#include <string>
-
-#include <klay/dbus/connection.h>
-
-class SyspopupService {
-public:
- SyspopupService();
- ~SyspopupService();
-
- void run();
-
-private:
- dbus::Variant onMethodCall(const std::string& objectPath,
- const std::string& interface,
- const std::string& methodName,
- dbus::Variant parameters);
-
- void onNameAcquired();
- void onNameLost();
-
-private:
- uid_t activeUser;
-};
-
-#endif //__DPM_SYSPOPUP_SERVICE_H__