namespace launchpad_parser_plugin {
-std::string LaunchpadParser::GetFilePath(std::string id) {
+std::string LaunchpadParser::GetFilePath(const std::string& id) {
return "/opt/share/loaders/" + id + ".loader";
}
-int LaunchpadParser::WriteToFile(std::string pkgid) {
+int LaunchpadParser::WriteToFile(const std::string& pkgid) {
if (access(LOADERS_DIRECTORY_PATH, F_OK) != 0)
mkdir(LOADERS_DIRECTORY_PATH, 0644);
return 0;
}
-bool LaunchpadParser::IsValidId(std::string loader_id, std::string pkgid) {
+bool LaunchpadParser::IsValidId(const std::string& loader_id,
+ const std::string& pkgid) {
std::string needle("../");
size_t found = loader_id.find(needle);
if (found != std::string::npos) {
return false;
}
-int LaunchpadParser::Install(xmlDocPtr doc, std::string pkgid) {
+int LaunchpadParser::Install(xmlDocPtr doc, const std::string& pkgid) {
pkgmgr_privilege_level level;
pkgmgr_installer_info_get_privilege_level(&level);
if (level != PM_PRIVILEGE_PLATFORM) {
return 0;
}
-int LaunchpadParser::Upgrade(xmlDocPtr doc, std::string pkgid) {
+int LaunchpadParser::Upgrade(xmlDocPtr doc, const std::string& pkgid) {
if (UnInstall(doc, pkgid) != 0)
return -1;
return Install(doc, pkgid);
}
-int LaunchpadParser::UnInstall(xmlDocPtr doc, std::string pkgid) {
+int LaunchpadParser::UnInstall(xmlDocPtr doc, const std::string& pkgid) {
xmlNode* root = xmlDocGetRootElement(doc);
if (root == nullptr)
return -1;
class LaunchpadParser {
public:
- std::string GetFilePath(std::string id);
- int WriteToFile(std::string pkgid);
- int Install(xmlDocPtr doc, std::string pkgid);
- int Upgrade(xmlDocPtr doc, std::string pkgid);
- int UnInstall(xmlDocPtr doc, std::string pkgid);
- bool IsValidId(std::string loader_id, std::string pkgid);
+ std::string GetFilePath(const std::string& id);
+ int WriteToFile(const std::string& pkgid);
+ int Install(xmlDocPtr doc, const std::string& pkgid);
+ int Upgrade(xmlDocPtr doc, const std::string& pkgid);
+ int UnInstall(xmlDocPtr doc, const std::string& pkgid);
+ bool IsValidId(const std::string& loader_id, const std::string& pkgid);
private:
std::list<std::shared_ptr<LoaderInfo>> loader_list_;