Allowing multiple instances of PkgmgrSignal. 25/37925/2
authorPawel Sikorski <p.sikorski@samsung.com>
Fri, 3 Apr 2015 12:41:32 +0000 (14:41 +0200)
committerPawel Sikorski <p.sikorski@samsung.com>
Thu, 9 Apr 2015 07:52:28 +0000 (09:52 +0200)
This commit unifies states between multiple instances of
PkgmgrSignal objects (using static variable).

Change-Id: I698c509c60533534c49ba29f537aca0e56ae63a9

src/common/pkgmgr_signal.cc
src/common/pkgmgr_signal.h

index 482ebc9..66b2a64 100644 (file)
 
 namespace common_installer {
 
+PkgmgrSignal::State PkgmgrSignal::state_ = PkgmgrSignal::State::NOT_SENT;
+
 PkgmgrSignal::PkgmgrSignal(pkgmgr_installer* pi)
-    : pi_(pi),
-      state_(State::NOT_SENT) {
+    : pi_(pi) {
 }
 
 bool PkgmgrSignal::SendStarted(
index 5dc5d86..de3fb0d 100644 (file)
@@ -16,11 +16,6 @@ namespace common_installer {
 
 //
 // Utility for sending signal to pkgmgr
-//
-// One installation process should not create more than one instance of this
-// class. Object contains state of signaling and will report error if
-// used in wrong way.
-//
 class PkgmgrSignal {
  public:
   enum class State {
@@ -54,7 +49,7 @@ class PkgmgrSignal {
   const char* GetResultKey(Step::Status result) const;
 
   pkgmgr_installer* pi_;
-  State state_;
+  static State state_;
 
   // TODO(t.iwanek): use DISALLOW_COPY_AND_ASSIGN
   PkgmgrSignal(const PkgmgrSignal&) = delete;