uboot.h
1 #pragma once
2 
3 #include <iostream>
4 #include <functional>
5 #include "command.h"
6 
7 #ifdef TESTING
8 #include <gtest/gtest.h>
9 #endif
10 
16 class UBoot
17 {
18 private:
19  static const std::string EP200_1GB_BINARY;
20  static const std::string EP200_4GB_BINARY;
21  static const std::string TV100_BINARY;
22  static const std::string DTD200_BINARY;
23 
24 public:
25  UBoot();
26  virtual ~UBoot();
27  static bool updateUBoot(const std::string &zipLocation);
28  static bool getCurrentVersion(std::string &current_version);
29 
30 private:
31  static inline std::function<std::string(std::string)> mCmdFunc = Command::GetStdoutFromCommand;
32  static bool getCurrentBootPartition(std::string &current_part);
33  static bool getBinaryPath(const std::string &zipLocation, std::string &binaryPath);
34  static unsigned long int getTotalKBMemory();
35 
36 #ifdef TESTING
37 public:
38  friend class UpdateUBoot_test;
39  FRIEND_TEST(UpdateUBoot_test,getCurrentBootPartition0);
40  FRIEND_TEST(UpdateUBoot_test,getCurrentBootPartition1);
41  FRIEND_TEST(UpdateUBoot_test,getCurrentBootPartitionNotValidPattern);
42  FRIEND_TEST(UpdateUBoot_test,getCurrentBootPartitionNotValidPattern2);
43  FRIEND_TEST(UpdateUBoot_test,getCurrentBootPartitionEmptyResponse);
44  FRIEND_TEST(UpdateUBoot_test,getCurrentVersionOK);
45  FRIEND_TEST(UpdateUBoot_test,getCurrentVersionNotValidPattern);
46  FRIEND_TEST(UpdateUBoot_test,getCurrentVersionEmptyResponse);
47  FRIEND_TEST(UpdateUBoot_test,zipError);
48  FRIEND_TEST(UpdateUBoot_test,updateUBootVersionsMatch);
49  FRIEND_TEST(UpdateUBoot_test,updateUBootVersionError);
50 #endif //TESTING
51 };
Defines a class for executing commands and getting output.
Class that triggers a UBoot update.
Definition: uboot.h:16