⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m3uiq2appui.h

📁 symbian uiq 例子代码,功能包括文件断点续传、编辑通讯录、后台短信回复等
💻 H
字号:
/*
 * Copyright (c) 2007,苏州丰达
 * All rights reserved.
 * 版权所有(C)2007-2008 苏州丰达 
 * 公司地址:中国,江苏省苏州市 
 * 网址:http://www.
 *
 * 文件名称:CM3UIQ2AppUi.cpp
 * 摘 要:
 *
 * 产品版本:彩视 1.0
 *
 * 作 者:xxxx
 * 创建日期:xxxxx
 * 负责人:xxxxx
 *
 * 修改者:司治国
 * 修改日期:2008.1.17
 *
 * 编译器或环境等描述:uiqsdk2.1
 * 适用于VC2003+symbian 7.x的环境开发。
 *
 **/

#ifndef M3UIQ2APPUI_H
#define M3UIQ2APPUI_H

// INCLUDES
#include <eikcmobs.h>
#include <eikclb.h>
#include <qikappui.h>
#include <eikdialg.h>
#include <charconv.h>

#include "TUserStruct.h"
#include "M3Directory.h"
#include "HttpClientEngine.h"
#include "MobileStorageView.h"
#include "M3UIQSendView.h"
#include "CMessageEngine.h"
#include "M3UIQ2Active.h"
#include "CProgressDlg.h"
#include "M3UIQ2SetingDlg.h"

/**
 * 定义m3uiq中3个视图的类型
 **/
enum APP_TYPE
{
	EAPP_VIEW = 0, ESEND_VIEW, ESTORAGE_VIEW
};

class CM3UIQ2AppView;
class CM3UIQ2SetingDlg;

// CLASS DECLARATION

/**
 * Application UI class.
 */
class CM3UIQ2AppUi : public CQikAppUi, public MHTTPClientEngineObserver
{
  private: // constructors and destructor
	/**
	 *	二步构造
	 **/
    void ConstructL();
  public:
	/**
	 *	析构函数
	 **/
    ~CM3UIQ2AppUi();
	/**
	 *	切换视图
	 **/
	void SwitchViewL(TUint8 aAppView);

  public: 
    virtual void ResponseStatusL(TInt aStatusCode, const TDesC &aStatusText);
    virtual void ResponseReceivedL(const TDesC &aResponseBuffer);
    virtual void ResponseReceivedDownL(const HBufC8 *aResponse);

  public:
    /**
     *	处理上传
     **/
    void HandleUpload(TInt sel, TDesC* aReceiver, TDesC* aContent);
	
	/**
	 * 处理推荐朋友
	 **/
	void HandleFriend();
	void CreateTestFile();

	/**
	 *	得到发送视图
	 **/
	CM3UIQSendView* GetCM3UIQSendView();

	/**
	 *	得到消息发送核心类
	 **/
	CMessageEngine* MessageEngline();

	/*
	 *	读取用户的UID
	 */
	TInt ReadUserUID();

	/**
	 *	保存用户的UID
	 **/
	void SaveUserUID(TInt aUid);
  public:
	/*
	 *	解析自动登录信息
	 *  @param aDetialInfo 服务器返回的详细数据
	 */
	void AnalysisRegister(const TDesC& aDetialInfo);
	
	/*
	 *	解析检查更新信息
	 *  @param aDetialInfo 服务器返回的详细数据
	 */
	void AnalysisUpdate(const TDesC& aDetialInfo);
	
	/*
	 *	解析上传信息
	 *  @param aDetialInfo 服务器返回的详细数据
	 */
	void AnalysisUpload(const TDesC& aDetialInfo);

	/*
	 *	解析续传上传信息
	 *  @param aDetialInfo 服务器返回的详细数据
	 */
	void AnalysisContinueUpload(const TDesC& aDetialInfo);

	/**
	 *	得到服务器地址
	 *  URL=http://m3push.kugame.com.cn:8888/3gp/1.jsp
	 **/	
	TDesC* GetServerURL();

	/**
	 *	得到特服号码
	 **/
	TDesC* GetSPID();	

	/**
	 *	得到短消息内容
	 *	PAY=MY
	 **/
	TDesC* GetSMSContent();
	
	/*
	 *	读取并解析内容
	 */
	TDesC* SeperateDesC(const TDesC *aData, TInt &aPos, TInt aPart = '\t');

	/**
	 * 把一个16位的unicode字符串描述符转换为一个8位的字符串描述符。
	 * @param TDesC & original,16位的unicode字符串描述符。
	 * @param TDes8 & res,8位的字符串描述符。
	 * @Return void ,无返回值。
	 **/
	void ConvUni2Gbk(TDesC &original, TDes8 &res);

	CDesCArrayFlat* GetIAP();

	void SetCancel(TBool aIsCancel);

  private: // from CEikAppUi
    /**
     *	处理事件
     **/
    virtual void HandleCommandL(TInt aCommand);
    virtual TKeyResponse HandleKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType);
	
  private: // data
    CMobileStorageView *iStorageView;
    CM3UIQ2AppView*iAppView; 
	CM3UIQSendView* iSendView;
    TUserStruct *iCurUser;
    CHTTPClientEngine *iHttpEngine;
	CMessageEngine* iMessageEngline;
	CProgressDlg* dialog;	
    TInt reqId;
	TUint8 iActiveView;
	TUint8 iUpView;
	TDesC *iName;
	TDesC *iFolder;
	TUint8 iCurrentAction;
	//以下是全局变量
	TInt iUserUID;//UID=用户UID号,数字型对应数据库
	TInt iAID;//客户端发送的次数
	TInt iLMT;	// 		LMT=总计可发送次数
	TInt iACC;	// 		ACC=已经发送的次数,与AID有点关系,但并不相同
	TDesC* iSPID;	// 		SPID=106583290222
	TDesC* iSMSContent;	// 		PAY=MY
	TDesC* iServerURL;	// 		URL=http://m3push.kugame.com.cn:8888/3gp/1.jsp
	TBool iIsLogined; //是否成功自动登录
	CDesCArrayFlat* descflat;
	TInt iPos;// pos是该文件已经上传完成的位置,
	TInt iFid;//	fid是编号
	TInt iSizePart;
	TBool iIsShow;
	TInt iCatche;
	TBool iCancel;
};

#endif 
// End of File

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -