Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.70 KB | None | 0 0
  1. #include "Statemanager.h"
  2. #include "achieveappliststate.h"
  3. #include "achieveappdetailstate.h"
  4. #include "achieverssinforstate.h"
  5. #include "achieveauthorizationstate.h"
  6. #include "network/networkaccess.h"
  7. #include "share/logger.h"
  8.  
  9.  
  10. StateManager::StateManager(QObject *parent) :
  11.         QObject(parent),
  12.         m_pCurrentState(NULL)
  13. {
  14.  
  15. }
  16. StateManager::~StateManager()
  17. {
  18.     if( m_pCurrentState != NULL )
  19.     {
  20.         delete m_pCurrentState;
  21.     }
  22. }
  23.  
  24. void StateManager::createAchieveAuthorizationState()
  25. {
  26.     AchieveAuthorizationState * temp = new AchieveAuthorizationState();
  27.     m_pCurrentState = temp;
  28. }
  29.  
  30. void StateManager::createAchieveAppListState()
  31. {
  32.     AchieveAppListState * temp = new AchieveAppListState();
  33.     m_pCurrentState = temp;
  34. }
  35.  
  36. void StateManager::createAchieveAppDetailsState()
  37. {
  38.     AchieveAppDetailState * temp = new AchieveAppDetailState();
  39.     m_pCurrentState = temp;
  40. }
  41.  
  42. void StateManager::createAchieveRssInforState()
  43. {
  44.     AchieveRssInforState * temp = new AchieveRssInforState();
  45.     m_pCurrentState = temp;
  46. }
  47.  
  48. void StateManager::finishAchieveAppDetailState()
  49. {
  50.     LOGDEBUG("yeah...........app.finsh all...........");
  51. }
  52.  
  53. void StateManager::finishAchieveRssDetailState()
  54. {
  55.     LOGDEBUG("yeah...........Rss.finish all...........");
  56. }
  57.  
  58. void StateManager::slotStateSwitch(AchieveDataStateType current,
  59.                                    AchieveDataStateType next)
  60. {
  61.     if( m_pCurrentState != NULL )
  62.     {
  63.         delete m_pCurrentState;
  64.         m_pCurrentState = NULL;
  65.     }
  66.  
  67.     if( next ==  Enum_AchieveAuthorizationState )
  68.     {
  69.         createAchieveAppListState();
  70.     }
  71.     else if( next ==  Enum_AchieveAppListState )
  72.     {
  73.         createAchieveAppListState();
  74.     }
  75.     else if( next ==  Enum_AchieveAppDetailState )
  76.     {
  77.         createAchieveAppDetailsState();
  78.     }
  79.     else if( next ==  Enum_AchieveRssInforState )
  80.     {
  81.         createAchieveRssInforState();
  82.     }
  83.     else if( next ==  Enum_FinishAchieveAppDetailState )
  84.     {
  85.         finishAchieveAppDetailState();
  86.  
  87.     } else if ( next == Enum_FinishAchieveRssDetailState )
  88.     {
  89.         finishAchieveRssDetailState();
  90.     }
  91.     else
  92.     {
  93.         LOGDEBUG("unkonw state");
  94.     }
  95.  
  96.  
  97.     if( m_pCurrentState != NULL )
  98.     {
  99.         NetworkAccess::instance()->setAchieveDataState(m_pCurrentState);
  100.         m_pCurrentState->startAchieveDataState();
  101.         this->connect(m_pCurrentState,SIGNAL(sigStateSwitch(AchieveDataStateType ,
  102.                                                             AchieveDataStateType )),
  103.                       this,SLOT(slotStateSwitch(AchieveDataStateType ,
  104.                                                 AchieveDataStateType )));
  105.     }
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement