--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingutils/nameresolverutility/inc/nslookup.h Tue Jan 26 15:16:33 2010 +0200
@@ -0,0 +1,332 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// nslookup.h - nslookup client main module
+//
+
+
+
+/**
+ @internalComponent
+*/
+#ifndef __NSLOOKUP_H
+#define __NSLOOKUP_H
+
+#include <coecntrl.h>
+#include <coeccntx.h>
+#include <techview/eiklabel.h>
+#include <txtrich.h>
+#include <eikrted.h>
+#include <eikappui.h>
+#include <eikapp.h>
+#include <techview/eikdialg.h>
+#include <eikdoc.h>
+#include <eikconso.h>
+#ifdef CALYPSO
+#include <AknQueryDialog.h>
+#include <AknSettingItemList.h>
+#include <AknAppUi.h>
+#endif
+
+
+// UID of app
+
+
+const TUid KUidNslookupApp = { 0x10000892 } ;
+const TUid KUidNslookupVersionUid = { 0x10000892 } ;
+
+#ifdef CALYPSO
+
+class CNslookupBinaryPopupSettingItem : public CAknBinaryPopupSettingItem
+ {
+ public:
+ CNslookupBinaryPopupSettingItem( TInt aIdentifier, TBool& aBinaryValue );
+
+ virtual void LoadL();
+ };
+
+class CNslookupTextSettingItem : public CAknSettingItem
+ {
+ public:
+ CNslookupTextSettingItem( TInt aIdentifier, TDes& aText );
+ CNslookupTextSettingItem::~CNslookupTextSettingItem();
+ virtual void StoreL();
+ virtual void LoadL(); // Called from 2nd stage constructors
+ virtual const TDesC& SettingTextL();
+ virtual void EditItemL( TBool aCalledFromMenu );
+
+ protected:
+ TPtr& InternalTextPtr();
+ TPtrC ExternalText();
+ void SetExternalText( TDesC& aNewExternalText );
+
+ private:
+ TDes& iExternalText;
+ HBufC* iInternalText;
+ TPtr iInternalTextPtr;
+ };
+
+class CSettingView : public CAknSettingItemList, public MEikCommandObserver
+ {
+ public:
+ CSettingView(CNslookup *aModel);
+ ~CSettingView();
+ void ConstructL(const TRect& aRect);
+ void ProcessCommandL(TInt aCommand);
+ CAknSettingItem* CreateSettingItemL( TInt identifier );
+ TBool SaveSettingsL();
+
+ private:
+ TBool iLimitPacketCount; // Indicates if unlimited packet number
+ TBuf<5> iMaxPacketCount; // Number of ICMP Echo Request packets to send
+ TBuf<5> iPacketDataSize; // Default data size (not including ICMP header)
+ TBuf<5> iWaitTime; // Time between sent packets (default 1 second)
+ TBuf<5> iLastWaitTime; // Time to wait for the last packet (default 2 seconds)
+ TBuf<MAX_PATTERN_LENGTH> iPattern; // Pattern to fill the packet (default 0xFF)
+ TBool iQuiet; // No packet info, just statistics
+ TBool iVerbose; // Verbose Output. All ICMP packets, not only Echo reply
+ TBool iDebug; // Set the SO_DEBUG flag in the socket
+
+ CNslookup *iModel;
+ };
+
+#endif // #ifdef CALYPSO
+
+//
+// CSimpleConsole
+//
+/*
+enum TMessageControlFontStyle
+{
+ EStyleElementBold=EMenuCommandBold,
+ EStyleElementItalic=EMenuCommandItalic,
+ EStyleElementInverse=EMenuCommandInverse,
+ EStyleElementUnderline=EMenuCommandUnderline,
+ EStyleElementColor=EMenuCommandColor
+};
+*/
+class CConsoleControl : public CCoeControl
+{
+public:
+ CConsoleControl() {}
+ ~CConsoleControl();
+ //void ConstructL(TInt aFlags);
+ //void ConstructL(TPoint aLeftTop,const TSize& aSize,TInt aFlags,CCoeControl *aParent);
+ void ConstructL(const TPoint& aTopLeft,const TSize& aSize,TInt aFlags);
+ //TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ //void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+ //void DynInitMenuPaneL(TInt aMenuId,CEikMenuPane* aMenuPane);
+ void HandleCommandL(TInt aCommand);
+ void ActivateL();
+ void SetScrollBarVisibilityL(CEikScrollBarFrame::TScrollBarVisibility aHBarVisibility, CEikScrollBarFrame::TScrollBarVisibility aVBarVisibility);
+ void DrawCursor();
+ void Write(const TDesC &aDes);
+ CEikConsoleControl *ConsoleControl() const;
+ TBool UpdateScrollBars();
+ void ClearScreen();
+ void Redraw(const TRect &aRect);
+ void Lf();
+ TSize ScreenSize() const;
+protected:
+ void FocusChanged(TDrawNow aDrawNow);
+private:
+ //void ToggleFontStyleAndRedrawL(TMessageControlFontStyle aStyleElement);
+
+private:
+ CEikConsoleScreen* iConsole;
+ TInt iHistory;
+ //TInt iAllPrintable,iScrollLock,iIgnoreCursor,iHideCursor;
+ //TDesC* iSelBufPtr;
+ //TInt iSmallScreen;
+ //TInt iHighCursor;
+};
+
+
+class CNslookupContainer: public CCoeControl, public MCoeControlObserver
+{
+public:
+ // Construction
+ CNslookupContainer(CNslookup* aModel);
+ void ConstructL(const TRect& aRect);
+
+ // Destruction
+ ~CNslookupContainer();
+ //void ConstructFromResourceL(TResourceReader& aReader);
+ //void CSmileyContainer::PrepareForFocusLossL();
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ void WriteHostL(const TDesC& aHostname);
+ void WriteLine(const TDesC& abuf);
+ void ResetScreen();
+
+//protected:
+ //void FocusChanged(TDrawNow aDrawNow);
+private:
+ // Virtual, defined by CCoeControl; replaces the default implementation
+ // provided by CCoeControl.
+ void Draw(const TRect& aRect) const;
+
+ // Virtual, defined by CCoeControl; replaces the default implementation
+ // provided by CCoeControl.
+ TInt CountComponentControls() const;
+
+ // Virtual, defined by CCoeControl; replaces the default implementation
+ // provided by CCoeControl.
+ CCoeControl* ComponentControl(TInt aIndex) const;
+
+ // Defined as pure virtual by the mixin class MCoeControlObserver
+ // inherited by CCoeControl. An empty implementation provided by
+ // this class (its containees do not report events).
+ void HandleControlEventL(CCoeControl* aControl,
+ TCoeEvent aEventType);
+
+ void CreateConsoleL(const TRect& aRect);
+private:
+ // Member functions defined and used by this class
+private:
+ // Data members defined and used by this class.
+ CNslookup *iModel;
+ CEikLabel* iLabel; // label for status messages
+ CEikLabel* iLabel2; // label for status messages
+
+ CConsoleControl* iConsole;
+ };
+
+
+
+
+
+
+//
+// class CNslookupView
+//
+
+class CNslookupView : public CCoeControl, public MCoeControlBrushContext
+ {
+public:
+ CNslookupView(CNslookup *aModel);
+ void ConstructL(const TRect& aRect);
+ ~CNslookupView();
+ // changing view
+ void ConstructViewL();
+ void ResetScreen();
+ // various types of update
+
+
+private: // from CCoeControl
+ void Draw(const TRect& /*aRect*/) const;
+ TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ TInt CountComponentControls() const;
+ CCoeControl* ComponentControl(TInt aIndex) const;
+private: // new function
+ void CreateLabelL();
+private: // data
+ CNslookup *iModel;
+ CNslookupContainer* iContainer;
+ };
+
+#ifdef CALYPSO
+class CHostNameDialog : public CAknTextQueryDialog
+#else
+class CHostNameDialog : public CEikDialog
+#endif
+ {
+public:
+#ifdef CALYPSO
+ CHostNameDialog(TDes& aHostname);
+#else
+ CHostNameDialog(CNslookup *aModel);
+#endif
+
+private:
+ TBool OkToExitL(TInt aButton);
+ void PreLayoutDynInitL();
+private:
+ TBool iOKPressed;
+ CNslookup *iModel;
+ };
+
+//
+// CNslookupAppUi
+//
+
+#ifdef CALYPSO
+class CNslookupAppUi : public CAknAppUi
+#else
+class CNslookupAppUi : public CEikAppUi
+#endif
+ {
+public:
+ void ConstructL();
+ ~CNslookupAppUi();
+
+#ifdef CALYPSO
+
+private:
+ TBool iAppViewOnStack;
+ TBool iSettingViewOnStack;
+ void AppViewToStackL();
+ void AppViewFromStack();
+ void SettingViewToStackL();
+ void SettingViewFromStack();
+ void ShowAppViewL();
+ void ShowSettingViewL();
+ CSettingView* iSettingView;
+
+#endif // #ifdef CALYPSO
+
+private: // from CEikAppUi
+ static TInt Launcher(TAny* x);
+ void InitModelL();
+ void HandleCommandL(TInt aCommand);
+ void CreateOptionsDialog();
+ TBool CreateHostNameDialogL();
+ void CreateAboutDialogL() const;
+ void RestorePreferencesL(TPreferences& aPreferences) const;
+ void StorePreferencesL(const TPreferences &aPreferences) const;
+ //void UnDimStop();
+ //void DimStop();
+
+private:
+ CNslookupView* iAppView;
+ CNslookup *iModel; //contains all related Data
+ //TBossPuzzle* iModel;
+ };
+
+//
+// CExampleShellDocument
+//
+
+class CNslookupDocument : public CEikDocument
+ {
+public:
+ CNslookupDocument(CEikApplication& aApp);
+ //CNslookupDocument(CEikApplication& aApp): CEikDocument(aApp) { }
+ //TBossPuzzle* Model() { return(&iModel); }
+private: // from CEikDocument
+ CEikAppUi* CreateAppUiL();
+private:
+ //TBossPuzzle iModel;
+ };
+
+//
+// CNslookupApplication
+//
+
+class CNslookupApplication : public CEikApplication
+ {
+private: // from CApaApplication
+ CApaDocument* CreateDocumentL();
+ TUid AppDllUid() const;
+ };
+
+#endif