📄 bluejackxappui.cpp
字号:
/*
* ============================================================================
* Name : CBlueJackXAppUi from BlueJackXAppUi.cpp
* Part of : BlueJackX
* Created : 25.01.2004 by Blader
* Version : 1.0
* Copyright: 2004
* ============================================================================
*/
// INCLUDE FILES
#include "BlueJackXAppUi.h"
#include "BlueJackXContainer.h"
#include <BlueJackX.rsg>
#include "bluejackx.hrh"
#include <avkon.hrh>
#include <aknnotewrappers.h>
#include <aknmessagequerydialog.h>
#include <ObjectExchangeClient.h>
#include <bjack.h>
// ================= MEMBER FUNCTIONS =================
// ------------------ CONSTRUCTOR ---------------------
// ----------------------------------------------------
void CBlueJackXAppUi::ConstructL()
{
BaseConstructL();
iAppContainer = new (ELeave) CBlueJackXContainer;
iAppContainer->SetMopParent(this);
iAppContainer->ConstructL( ClientRect() );
AddToStackL( iAppContainer );
BlueJacking = false;
Scanvorgang = false;
Interval = 60;
// senden an
sendui = CSendAppUi::NewL(EBlueJackLogging, NULL);
iBluejackClient = CBjack::NewL();
iClient = CObjectExchangeClient::NewL();
}
// ------------------- DESTRUCTOR ---------------------
// ----------------------------------------------------
CBlueJackXAppUi::~CBlueJackXAppUi()
{
if (iAppContainer)
{
RemoveFromStack( iAppContainer );
delete iAppContainer;
}
// senden an menue l鰏chen
delete sendui;
delete iClient;
iClient = NULL;
delete iBluejackClient;
iBluejackClient = NULL;
}
// ----------------------------------------------------
// ----------------------------------------------------
void CBlueJackXAppUi::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
{
if (aResourceId == R_LOGGING_SUB)
{
sendui->DisplaySendMenuItemL(*aMenuPane, 0,TSendingCapabilities(0, 0, TSendingCapabilities::ESupportsAttachments));
}
if (aResourceId == R_SENDUI_MENU)
{
// Display the list of bearers.
sendui->DisplaySendCascadeMenuL(*aMenuPane);
}
}
// ----------------------------------------------------
// ----------------------------------------------------
TKeyResponse CBlueJackXAppUi::HandleKeyEventL(
const TKeyEvent& aKeyEvent,TEventCode aType)
{
if (aType == EEventKey)
{
switch (aKeyEvent.iCode)
{
case EKeyOK:
iAppContainer->ShowDeviceDetails();
return EKeyWasConsumed;
break;
}
}
return iAppContainer->iListBox->OfferKeyEventL(aKeyEvent, aType);
}
// ----------------------------------------------------
// ----------------------------------------------------
void CBlueJackXAppUi::HandleCommandL(TInt aCommand)
{
switch ( aCommand )
{
// ----- gefundene Ger鋞e z鋒len
case EBlueJackDeviceCount:
{
TBuf16<8> str;
TInt Zahl;
Zahl = iAppContainer->verschickteVCards();
str.Num(Zahl);
CEikonEnv::Static()->AlertWin(_L("Devices Found:"),str);
break;
}
// ----- Nur Scannen und auflisten
case EBlueJackStartScanning:
{
BlueJacking = false; // BlueJacking ausstellen
Scanvorgang = true;
iAppContainer->StatusPaneMeldung(_L("Scanning"));
iAppContainer->StartScan(Interval);
break;
}
case EBlueJackStopScanning:
{
Scanvorgang = false;
iAppContainer->StatusPaneMeldung(_L(""));
iAppContainer->StopScan();
break;
}
// ----- Scannen mit Bluejacking
case EBlueJackStartJacking:
{
//pr黤en ob datei existiert
/*
if (FileExists()==true)
{
iAppContainer->StatusPaneMeldung(_L("Bluejacking"));
BlueJacking = true;
Scanvorgang = true;
iAppContainer->StartScan(Interval);
}else{
CEikonEnv::Static()->AlertWin(_L("Please set"),_L("Jacking Mesage"));
}
*/
//CEikonEnv::Static()->AlertWin(_L("Info:"),_L("not implanted"));
// BLUEJACKING SENDEN
TBTDevAddr iAutoConnectAddress;
TBuf8<54> settingsBuf;
settingsBuf.Copy(_L("000 006 171 128 083 070")); //flo
TLex8 lex(settingsBuf);
for (TInt i = 0; i < 6; i++)
{
TInt tempByte;
lex.Val(tempByte);
iAutoConnectAddress[i] = (TUint8) tempByte;
lex.SkipSpace();
}
//iBluejackClient->BTPort = tempVal;
iBluejackClient->BTAddy = iAutoConnectAddress;
iBluejackClient->ConnectL();
CAknInformationNote* dlg = new(ELeave)CAknInformationNote(ETrue);
TBuf<70> aDes = _L("Message send");
dlg->SetTimeout(CAknNoteDialog::ENoTimeout);
dlg->ExecuteLD(aDes);
iBluejackClient->DisconnectL();
// BLUEJACKING SENDEN
break;
}
case EBlueJackStopJacking:
{
/*
iAppContainer->StatusPaneMeldung(_L(""));
Scanvorgang = false;
iAppContainer->StopScan();*/
CEikonEnv::Static()->AlertWin(_L("Info:"),_L("not implanted"));
break;
}
// ------------- Restliche Menues
case EBlueJackDirektMSG:
{
iClient->direkt = false;
// nachrichten datei erzeugen
TBuf<60> buf;
CAknTextQueryDialog * dlgt = CAknTextQueryDialog::NewL(buf);
dlgt->SetMaxLength(60);
dlgt->SetPromptL(_L("Enter Message:"));
dlgt->ExecuteLD(R_AKNEXQUERY_DATA_QUERY);
makeDirektVCard(buf);
iClient->ConnectL();
CAknInformationNote* dlg = new(ELeave)CAknInformationNote(ETrue);
TBuf<70> aDes = _L("Message send");
dlg->SetTimeout(CAknNoteDialog::ENoTimeout);
dlg->ExecuteLD(aDes);
iClient->DisconnectL();
// bereits in verwendung fehle rbeim 2 senden wegmachen
// liegt evtl an setactive
break;
}
case EBlueJackMessage:
{
// Dialog ausgeben und Eingabe an makeVCard 黚ergeben
TBuf<60> buf;
CAknTextQueryDialog * dlgt = CAknTextQueryDialog::NewL(buf);
dlgt->SetMaxLength(60);
dlgt->SetPromptL(_L("Enter Message:"));
dlgt->ExecuteLD(R_AKNEXQUERY_DATA_QUERY);
makeVCard(buf);
break;
}
case EBlueJackInterval:
{
if (Scanvorgang==true)
{
CEikonEnv::Static()->AlertWin(_L("Info:"),_L("Stop Scanning first!"));
}else{
// Intervall 黚ergeben
TBuf<10> buf;
CAknTextQueryDialog * dlgt = CAknTextQueryDialog::NewL(buf);
dlgt->SetMaxLength(60);
dlgt->SetPromptL(_L("Enter Interval 30-600sec:"));
dlgt->ExecuteLD(R_AKNEXQUERY_NUMBER_LAYOUT);
// string des intervalls in integer umrechnen
TLex lexer(buf);
TInt tempVal;
lexer.Val(tempVal);
Interval = tempVal;
}
break;
}
case EBlueJackLogging_load:
{
if(iEikonEnv->QueryWinL(_L("clear list and"),_L("load log continue?")))
{
iAppContainer->List_Clear();
iAppContainer->LoadLog();
}
break;
}
case EBlueJackLogging_save:
{
if(iEikonEnv->QueryWinL(_L("add list entrys"),_L("to log continue?")))
{
iAppContainer->SaveLog();
}
break;
}
case EBlueJackLogging_clear:
{
if(iEikonEnv->QueryWinL(_L("clear"),_L("list?")))
{
iAppContainer->List_Clear();
}
break;
}
case EBlueJackLogging_dellog:
{
if(iEikonEnv->QueryWinL(_L("delete log.dat"),_L("continue?")))
{
iAppContainer->Delete_logfile();
}
break;
}
case EBlueJackINFO:
{
_LIT(KMess,"BlueJackX, Version 0.9\nwww.bluejackx.de.vu\nwww.blader-software.de\nCopyright 2004 Blader\nAuthor: Blader");
TBuf16<300>message(KMess);
CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL(message);
dlg->SetHeaderTextL(_L("About"));
dlg->ExecuteLD(R_ABOUT);
break;
}
// --- Beenden
case EAknSoftkeyBack:
case EEikCmdExit:
{
if(iEikonEnv->QueryWinL(_L("Exit BlueJackX?"),_L("")))
{
iClient->StopL();
Exit();
}
break;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -