Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Statemanager.h"
- #include "achieveappliststate.h"
- #include "achieveappdetailstate.h"
- #include "achieverssinforstate.h"
- #include "achieveauthorizationstate.h"
- #include "network/networkaccess.h"
- #include "share/logger.h"
- StateManager::StateManager(QObject *parent) :
- QObject(parent),
- m_pCurrentState(NULL)
- {
- }
- StateManager::~StateManager()
- {
- if( m_pCurrentState != NULL )
- {
- delete m_pCurrentState;
- }
- }
- void StateManager::createAchieveAuthorizationState()
- {
- AchieveAuthorizationState * temp = new AchieveAuthorizationState();
- m_pCurrentState = temp;
- }
- void StateManager::createAchieveAppListState()
- {
- AchieveAppListState * temp = new AchieveAppListState();
- m_pCurrentState = temp;
- }
- void StateManager::createAchieveAppDetailsState()
- {
- AchieveAppDetailState * temp = new AchieveAppDetailState();
- m_pCurrentState = temp;
- }
- void StateManager::createAchieveRssInforState()
- {
- AchieveRssInforState * temp = new AchieveRssInforState();
- m_pCurrentState = temp;
- }
- void StateManager::finishAchieveAppDetailState()
- {
- LOGDEBUG("yeah...........app.finsh all...........");
- }
- void StateManager::finishAchieveRssDetailState()
- {
- LOGDEBUG("yeah...........Rss.finish all...........");
- }
- void StateManager::slotStateSwitch(AchieveDataStateType current,
- AchieveDataStateType next)
- {
- if( m_pCurrentState != NULL )
- {
- delete m_pCurrentState;
- m_pCurrentState = NULL;
- }
- if( next == Enum_AchieveAuthorizationState )
- {
- createAchieveAppListState();
- }
- else if( next == Enum_AchieveAppListState )
- {
- createAchieveAppListState();
- }
- else if( next == Enum_AchieveAppDetailState )
- {
- createAchieveAppDetailsState();
- }
- else if( next == Enum_AchieveRssInforState )
- {
- createAchieveRssInforState();
- }
- else if( next == Enum_FinishAchieveAppDetailState )
- {
- finishAchieveAppDetailState();
- } else if ( next == Enum_FinishAchieveRssDetailState )
- {
- finishAchieveRssDetailState();
- }
- else
- {
- LOGDEBUG("unkonw state");
- }
- if( m_pCurrentState != NULL )
- {
- NetworkAccess::instance()->setAchieveDataState(m_pCurrentState);
- m_pCurrentState->startAchieveDataState();
- this->connect(m_pCurrentState,SIGNAL(sigStateSwitch(AchieveDataStateType ,
- AchieveDataStateType )),
- this,SLOT(slotStateSwitch(AchieveDataStateType ,
- AchieveDataStateType )));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement