亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? esimgroupview.cpp

?? 基于SIP協議的即時消息聊天功能設計,Symbian平臺下實現
?? CPP
字號:
/*
============================================================================
 Name        : ESIMGroupView.cpp
 Author      : 
 Version     :
 Copyright   : Your copyright notice
 Description : ESIMGroupView.cpp - source file
============================================================================
*/

#include  <aknviewappui.h>
#include  <avkon.hrh>

#include <ESIMItemEngine.h>
#include "ESIMGroupView.h"
#include "ESIMGroupContainer.h"
#include "ESIMUserItem.h"
#include "ESIMGroupItem.h"

#include "ESIMAppui.h"

#include "ESIM.hrh" 
#include "ESIM.rsg" 
#include <eikmobs.h>
#include <eikmenup.h>
#include <stringloader.h> 
#include <aknlists.h> 
#include <aknpopup.h> 
#include <aknquerydialog.h>
#include <utf.h>

#include <string.h>
// ================= MEMBER FUNCTIONS =======================

// ---------------------------------------------------------
// CESIMGroupView::ConstructL(const TRect& aRect)
// EPOC two-phased constructor
// ---------------------------------------------------------
//
void CESIMGroupView::ConstructL()
    {
    BaseConstructL( R_ESIM_GROUP_VIEW );
    }

// ---------------------------------------------------------
// CESIMGroupView::~CESIMGroupView()
// destructor
// ---------------------------------------------------------
//
CESIMGroupView::~CESIMGroupView()
    {
    if ( iContainer )
        {
        AppUi()->RemoveFromViewStack( *this, iContainer );
        }

    delete iContainer;
    }

// ---------------------------------------------------------
// TUid CESIMGroupView::Id()
// 
// ---------------------------------------------------------
//
TUid CESIMGroupView::Id() const
    {
    return KGroupViewId;
    }

// ---------------------------------------------------------
// CESIMGroupView::HandleCommandL(TInt aCommand)
// takes care of view command handling
// ---------------------------------------------------------
//
void CESIMGroupView::HandleCommandL(TInt aCommand)
    {   
    switch (aCommand)
		{
		case EAknSoftkeyBack:
			{
				AppUi()->HandleCommandL(EEikCmdExit);
				break;
			}
		case EESIMGroupCmdNew:
			{
				iEngine->CreateGroupL();
				iContainer->RefreshListL();
				break;
			}
		case EESIMGroupCmdDelete:
			{
				iEngine->RemoveGroupItem(iContainer->GetCurrentItemIndex());
				iContainer->RefreshListL();
				break;
			}
		case EESIMGroupCmdEdit:
			{
				iContainer->SetCurrentGroupName( );
				iEngine->SetCurrentGroupIndex(iContainer->ListBox()->CurrentItemIndex());//通知groupUser要打開的是第幾個組
				AppUi()->HandleCommandL(EESIMCmdActiveGroupUserView);
				break;
			}
		case EESIMCmdActiveConversationView:
			{
				CAknViewAppUi* aAknViewAppUi = AppUi();
				CESIMAppUi* aESIMAppUi = reinterpret_cast<CESIMAppUi*>(aAknViewAppUi);

				aESIMAppUi->iStatus = KGroupViewId;

				AppUi()->HandleCommandL(EESIMCmdActiveConversationView);
			}
		case EESIMGroupCmdSendMessage:
			{
				CESIMGroupItem* pGroups = 
					iEngine->GroupItem(iContainer->ListBox()->CurrentItemIndex());
				RPointerArray<CESIMUserItem>& users = pGroups->ItemList();
				if (users.Count() == 0)
				{
					CEikonEnv::Static()->InfoWinL(_L("Warning"),
						_L("No user in this group, please add some"));
					break;
				}



				TInt KMaxMessageLength = 60;
				TInt KMaxMessageSizeDesc16 = KMaxMessageLength * 2;
				HBufC* iMessage;
				iMessage = HBufC::NewL(KMaxMessageLength);
				TPtr message = iMessage->Des();

				HBufC* titleBuf = StringLoader::LoadLC(R_CHAT_TITLE);
				CAknTextQueryDialog* messageDialog = new (ELeave) CAknTextQueryDialog(message, 
					*titleBuf, CAknTextQueryDialog::ENoTone);
				CleanupStack::PopAndDestroy(titleBuf);
				messageDialog->SetMaxLength(KMaxMessageLength);

				// 組織消息體
				if (messageDialog->ExecuteLD(R_ESIM_CHAT_MESSAGE_DIALOG))
				{
					CAknViewAppUi* aAknViewAppUi = AppUi();
					CESIMAppUi* aESIMAppUi = reinterpret_cast<CESIMAppUi*>(aAknViewAppUi);

					HBufC8* from;
					from = HBufC8::NewL(100);
					from->Des().Format(_L8("sip:%s"), aESIMAppUi->iLocalAddress.Ptr());

					HBufC8* to;
					to = HBufC8::NewL(100);
					to->Des().Format(_L8("sip:msgas@%s"), aESIMAppUi->iRemoteAddress.Ptr());

					TBuf8<100> msg;
					msg.Copy(message);
					//CnvUtfConverter::ConvertFromUnicodeToUtf8(msg, message);

					// 取組里的成員的地址

					// 手動構造XML
					char* buf = new char[1000];
					memset(buf, '\0', 1000);
					size_t strLength;
					strcat(buf, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<resource-lists xmlns=\"urn:ietf:params:xml:ns:resource-lists\" xmlns:cp=\"urn:ietf:params:xml:ns:capacity\" xmlns:xsi=\"ttp://www.w3.org/2001/XMLSchema-instance\">\n<list>\n");


						for(TInt i = 0;  i < users.Count(); i++)
						{
							(users[i]->SipAddress())->Des();
							TBuf8<50> tmp;
							TBuf8<100> to;
							CnvUtfConverter::ConvertFromUnicodeToUtf8(tmp, users[i]->SipAddress()->Des());
							to.Format(_L8("sip:%s"), tmp.PtrZ());
							strcat(buf, "<entry uri=\"");
							strcat(buf, (char*)(to.PtrZ()));
							strcat(buf, "\" cp:capacity=\"to\"/>\n");
						}

						strcat(buf, "</list>\n</resource-lists>\r\n");

						//aESIMAppUi->SIPEngine()->sip_group_message((char*)msg.PtrZ(), 
						//	(char*)to->Des().PtrZ(), 
      //                      (char*)from->Des().PtrZ(), buf);

						delete buf;

						delete to;
						to = NULL;

						delete from;
						from = NULL;

				}

				delete iMessage;
				iMessage = NULL;

				break;
			}
		default:
			AppUi()->HandleCommandL(aCommand);
			break;		
		}
    }

// ---------------------------------------------------------
// CESIMGroupView::HandleClientRectChange()
// ---------------------------------------------------------
//
void CESIMGroupView::HandleClientRectChange()
    {
    if ( iContainer )
        {
        iContainer->SetRect( ClientRect() );
        }
    }

// ---------------------------------------------------------
// CESIMGroupView::DoActivateL(...)
// 
// ---------------------------------------------------------
//
void CESIMGroupView::DoActivateL(
   const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/,
   const TDesC8& /*aCustomMessage*/)
    {
    if (!iContainer)
        {
        iContainer = new (ELeave) CESIMGroupContainer(iEngine);
        iContainer->SetMopParent(this);
        iContainer->ConstructL( ClientRect(), this);
        AppUi()->AddToStackL( *this, iContainer );
        }
   }

// ---------------------------------------------------------
// CESIMGroupView::DoDeactivate()
// 
// ---------------------------------------------------------
//
void CESIMGroupView::DoDeactivate()
    {
    if ( iContainer )
        {
        AppUi()->RemoveFromViewStack( *this, iContainer );
        }
    
    delete iContainer;
    iContainer = NULL;
    }
//*****************

void CESIMGroupView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane){
	if(aResourceId == R_ESIM_GROUP_VIEW_MENU) 
	{
		aMenuPane->SetItemDimmed(EESIMGroupCmdDelete,DimBluethooth());
		aMenuPane->SetItemDimmed(EESIMGroupCmdEdit,DimBluethooth());
	}
}

TBool CESIMGroupView::DimBluethooth()
{
	if (iContainer->ListCount()==0)
	return  ETrue;
	else
	return  EFalse;
}

/**
* Creates vertical scrollbars for the list, which appear automatically when required.
*
*/
void CESIMGroupView::SetupScrollBarsL(CEikListBox& aListBox)
{
	aListBox.CreateScrollBarFrameL(ETrue);
	aListBox.ScrollBarFrame()->SetScrollBarVisibilityL(
		CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
}

void CESIMGroupView::AddUserToGroup()
{
	// First phase construction of menu list
	CAknSinglePopupMenuStyleListBox* savedGameMenuList =
		new (ELeave) CAknSinglePopupMenuStyleListBox;
	CleanupStack::PushL(savedGameMenuList);

	// Create a popuplist to show the menu list in
	CAknPopupList* popupList = CAknPopupList::NewL(
		savedGameMenuList, 
		R_AVKON_SOFTKEYS_OK_BACK);

	CleanupStack::PushL(popupList);

	// Second phase construction of menulist
	savedGameMenuList->ConstructL(popupList,EAknListBoxMenuList);
	// Set up scroll bars
	SetupScrollBarsL (*savedGameMenuList);

	// Set up menu items
	CTextListBoxModel* model = savedGameMenuList->Model();  // not taking ownership
	model->SetOwnershipType (ELbmOwnsItemArray);
	CDesCArray* savedGameMenuListArray = STATIC_CAST(CDesCArray*, model->ItemTextArray());

	//CDesCArray *groups = iEngine->GetContactGroupsL();
	_LIT (KStringHeader, "%S");
	TBuf <16> aString;
	for (TInt i = 0; i< iEngine->UserItemCount(); i++)
	{
		TPtrC ptr = ((iEngine->UserItem(i))->Name())->Des();
		aString.Format(KStringHeader(), &ptr);
		savedGameMenuListArray->AppendL (aString);
	}

	// Set title
	HBufC* title;
	title = StringLoader::LoadLC(R_SAVED_GAME_MENU_LIST_TITLE);	// Pushes title onto the Cleanup Stack.
	popupList->SetTitleL(*title);
	CleanupStack::PopAndDestroy(title);

	// Show the menu in the popup list
	TInt popupOk = popupList->ExecuteLD();

	CleanupStack::Pop(popupList);

	// if the user selected a level to play, play the game at that level
	if (popupOk)
	{
		//TDesC level = (*savedGameMenuListArray)[savedGameMenuList->CurrentItemIndex()];
		TInt userIndex = savedGameMenuList->CurrentItemIndex();
		//TDesC level = (*savedGameMenuListArray)[index];


		/*iEngine->GetSelectedContactL(iContainer->ListBox());
		iEngine->GetSelectedContactGroupL(groupIndex);*/

		TInt t = iContainer->ListBox()->CurrentItemIndex();

		iEngine->AddUserToGroupL(userIndex, iContainer->ListBox()->CurrentItemIndex());

		CleanupStack::PopAndDestroy(savedGameMenuList);
		//PlayGame (aSavedGameName, level);
	}
	// otherwise return to the saved game list
	else
		CleanupStack::PopAndDestroy(savedGameMenuList);	
}
// End of File

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机精品视频线观看86| 亚洲成a人片综合在线| 免费高清视频精品| 67194成人在线观看| 视频在线观看91| 国产亚洲精品中文字幕| 成人性色生活片| 亚洲女同一区二区| 欧美一区二区三区影视| 懂色av中文一区二区三区| 亚洲欧美偷拍三级| 亚洲视频一二三区| 欧美videossexotv100| 99久久精品免费看| 三级一区在线视频先锋 | 久久精品网站免费观看| 精品美女被调教视频大全网站| 日韩一区二区三区在线视频| 91视视频在线观看入口直接观看www | 欧美日韩高清在线播放| 国产在线精品免费av| 成人欧美一区二区三区黑人麻豆 | 精品国产污污免费网站入口| 国产一区二区三区日韩| 日本欧美韩国一区三区| 中文字幕一区二区不卡| 亚洲欧美另类图片小说| 亚洲小少妇裸体bbw| 国产日韩欧美一区二区三区乱码| 欧美性受xxxx黑人xyx性爽| 国内偷窥港台综合视频在线播放| 亚洲精品水蜜桃| 久久久久久麻豆| 欧美成人国产一区二区| 久久久噜噜噜久久人人看| 国产精品久久久久久久久久免费看 | 欧美乱妇23p| 色悠久久久久综合欧美99| 久久 天天综合| 日韩和欧美的一区| 国产成人精品免费视频网站| 国产一区二区三区不卡在线观看| 不卡的电影网站| 国产成a人无v码亚洲福利| 日本高清不卡视频| 色欧美片视频在线观看在线视频| 91麻豆精品国产自产在线观看一区 | 91视视频在线观看入口直接观看www| 欧美色成人综合| 97se亚洲国产综合在线| 欧美精品少妇一区二区三区| 国产精品热久久久久夜色精品三区| 久久久久久久久一| 午夜一区二区三区视频| 国产精品美女www爽爽爽| 一区2区3区在线看| 亚洲午夜激情网站| 成人精品一区二区三区四区| 欧美精品欧美精品系列| 中文字幕一区二区三区在线观看| 日本亚洲三级在线| 欧美亚洲愉拍一区二区| 国产精品久久久一区麻豆最新章节| 男女男精品网站| 欧美日韩精品三区| 亚洲精选一二三| 不卡av在线免费观看| 精品国产一区二区三区不卡| 亚洲成av人综合在线观看| 91美女福利视频| 亚洲视频一区在线| 99久久精品一区二区| 国产精品入口麻豆九色| 国产精品影视网| 成人av在线影院| 国产精品久久久久久久久搜平片| 国产一区二区在线观看视频| 26uuu欧美日本| 亚洲欧美视频一区| 9i看片成人免费高清| 欧美一级在线免费| 日韩vs国产vs欧美| 欧美一区二区三区小说| 婷婷开心激情综合| 欧美日韩一级片在线观看| 一区二区三区四区国产精品| 一本久道中文字幕精品亚洲嫩| 中文字幕一区二区三区乱码在线| 99久久久免费精品国产一区二区| 中文字幕一区二区三区精华液| 99精品国产热久久91蜜凸| 国产精品对白交换视频| 91影院在线免费观看| 亚洲精品成人悠悠色影视| 欧美视频在线一区| 免费黄网站欧美| 久久影视一区二区| 99久久伊人网影院| 亚洲综合在线观看视频| 午夜久久久久久久久久一区二区| 欧美一区二区在线免费观看| 精品亚洲免费视频| 国产精品久久久久影院| 在线免费观看成人短视频| 国产色产综合产在线视频| 99麻豆久久久国产精品免费| 亚洲精品国产品国语在线app| 精品视频一区二区不卡| 麻豆视频观看网址久久| 欧美区在线观看| 国产尤物一区二区在线| 亚洲精品一二三四区| 精品久久久久一区| 91视频国产观看| 精品一区二区久久久| 亚洲欧美另类图片小说| 欧美xingq一区二区| 欧美这里有精品| 国内精品在线播放| 亚洲丰满少妇videoshd| 欧美精品一区二区三区蜜臀| 91久久久免费一区二区| 国产尤物一区二区| 亚洲国产综合色| 国产欧美日韩三级| 日韩一区二区在线观看视频播放| 成人av片在线观看| 美女免费视频一区二区| 亚洲美女偷拍久久| 国产喷白浆一区二区三区| 欧美亚洲一区三区| 国产+成+人+亚洲欧洲自线| 日日夜夜精品视频天天综合网| 国产视频一区二区在线观看| 欧美一个色资源| 欧美日韩精品电影| 99久久久精品| 成人一级视频在线观看| 狠狠色综合色综合网络| 首页综合国产亚洲丝袜| 亚洲伦理在线精品| 国产女人水真多18毛片18精品视频| 日韩三级视频在线看| 欧美日本国产视频| 69p69国产精品| 色婷婷av一区二区三区软件| 成人福利视频在线| 成人午夜又粗又硬又大| 狠狠色综合播放一区二区| 日韩精品福利网| 天天亚洲美女在线视频| 亚洲成人午夜电影| 亚洲成a人v欧美综合天堂| 伊人婷婷欧美激情| 一区二区三区四区视频精品免费 | 日韩精品中文字幕在线不卡尤物 | 粉嫩一区二区三区在线看| 激情国产一区二区| 国产一区二区三区四区在线观看| 日本va欧美va精品发布| 男男视频亚洲欧美| 精品夜夜嗨av一区二区三区| 国内精品写真在线观看| 国产呦精品一区二区三区网站| 国产一区二区三区视频在线播放 | 久久综合资源网| 久久久精品人体av艺术| 国产精品午夜春色av| 中文字幕一区视频| 洋洋成人永久网站入口| 图片区小说区国产精品视频| 日本视频一区二区三区| 久久av资源网| 成人av电影在线网| 91国产免费观看| 欧美一卡在线观看| 久久精品人人做人人综合| 中文字幕欧美区| 91精品国产一区二区三区蜜臀 | 亚洲精品一区二区在线观看| 国产午夜久久久久| 亚洲精品成人在线| 免费在线观看精品| 国产经典欧美精品| 欧美综合久久久| 精品久久久久久久久久久久包黑料 | 国产一区二区三区四| 99久久精品国产网站| 欧美日韩国产中文| 久久人人爽爽爽人久久久| 亚洲色图19p| 蜜臀久久99精品久久久画质超高清| 国产一区二区三区在线观看免费视频 | 亚洲欧美欧美一区二区三区| 免费观看30秒视频久久| 成人性生交大片免费看中文| 欧美肥胖老妇做爰| 国产精品每日更新在线播放网址| 丝袜美腿亚洲一区| 不卡一卡二卡三乱码免费网站|