epoc32/include/agentdialog.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2 * Copyright (c) 1997-2004 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:
    15 *
    16 */
    17 
    18 
    19 #ifndef __AGENTDIALOG_H__
    20 #define __AGENTDIALOG_H__
    21 
    22 #include <e32std.h>
    23 #include <cdbcols.h>
    24 #include <cdblen.h>
    25 //#include <comms-infras\commsdebugutility.h> Cannot be included because it conflicts with flogger
    26 
    27 
    28 /**
    29 Server name in EKA2 case
    30 @internalTechnology
    31 */
    32 _LIT(KCommsDialogServerName, "!NetDialDialogServer");
    33 
    34 //__FLOG_STMT(_LIT8(KDlgSvrLogSubsys, "agentdialog");)
    35 //__FLOG_STMT(_LIT8(KDlgSvrLogComponent, "server");)
    36 //__FLOG_STMT(_LIT8(KDlgCliLogComponent, "client");)
    37 
    38 class TConnectionPrefs
    39 /**
    40 Specifies the rank and desired direction of the connection and bearer.
    41 
    42 @internalTechnology
    43 */
    44 	{
    45 public:
    46 	TUint32 iRank;
    47 	TCommDbConnectionDirection iDirection;
    48 	TUint32 iBearerSet;
    49 	};
    50 
    51 class TIspConnectionNames
    52 /**
    53 Specifies the Connection Names for ISP.
    54 
    55 @internalTechnology
    56 */
    57 	{
    58 public:
    59 	TBuf<KCommsDbSvrDefaultTextFieldLength> iServiceName;
    60 	TBuf<KCommsDbSvrMaxColumnNameLength> iServiceTable;
    61 	TBuf<KCommsDbSvrDefaultTextFieldLength> iModemName;
    62 	TBuf<KCommsDbSvrDefaultTextFieldLength> iLocationName;
    63 	TBuf<KCommsDbSvrDefaultTextFieldLength> iChargecardName;
    64 	};
    65 
    66 class TAuthenticationPair
    67 /**
    68 Specifies the Authentication for the User Name and Password.
    69 
    70 @internalTechnology
    71 */
    72 	{
    73 public:
    74 	TDes* iUsername;
    75 	TDes* iPassword;
    76 	};
    77 
    78 class TPctResponse
    79 /**
    80 Allows the user to see the login script running, see what is sent and received, and allows the user to type responses.
    81 
    82 @internalTechnology
    83 */
    84 	{
    85 public:
    86 	TDes* iBuffer;
    87 	};
    88 
    89 class TNewIapConnectionPrefs
    90 /**
    91 Specifies Connection Preference for the New IAP.
    92 
    93 @internalTechnology
    94 */
    95 	{
    96 public:
    97 	TConnectionPrefs iPrefs;
    98 	TInt iLastError;
    99 	TBuf<KCommsDbSvrDefaultTextFieldLength> iName;
   100 	};
   101 
   102 class RDialogNotifier : public RNotifier
   103 /**
   104 Client interface to allow engines or other low level components to communicate with the UI.
   105 
   106 Real implementations need three asynchronous message slots instead of RNotifiers default one slot
   107 in order to implement the PCT functionality.  This is not used at all by the test dialog server
   108 implementation.
   109  
   110 @internalTechnology
   111 */
   112 	{
   113 public :
   114 	TInt Connect();
   115 	};
   116 
   117 class RGenConAgentDialogServer : public RSessionBase
   118 /**
   119 RGenConAgentDialogServer. This components needs to be written as a 
   120 proper polymorphic DLL in JetStream.
   121 
   122 NOTE! Although the class inherits from RSessionBase this does not mean you 
   123 have to implement the API as a client server mechanism.
   124 
   125 @internalTechnology
   126 */
   127 	{
   128 public:
   129 	IMPORT_C RGenConAgentDialogServer();
   130 	IMPORT_C ~RGenConAgentDialogServer();
   131 	IMPORT_C TVersion Version() const;
   132 	IMPORT_C TInt Connect();
   133 	IMPORT_C void Close();
   134 	IMPORT_C void ModemAndLocationSelection(TUint32& aModemId,TUint32& aLocationId,TRequestStatus& aStatus);
   135 	IMPORT_C void IapConnection(TUint32& aIAP, const TConnectionPrefs& aPrefs, TRequestStatus& aStatus);
   136 	IMPORT_C void IapConnection(TUint32& aIAP, const TConnectionPrefs& aPrefs, TInt aLastError, TRequestStatus& aStatus);
   137 	IMPORT_C void WarnNewIapConnection(const TConnectionPrefs& aPrefs, TInt aLastError, const TDesC& aNewIapName, TBool& aResponse, TRequestStatus& aStatus);
   138 	IMPORT_C void Login(TDes& aUsername, TDes& aPassword, TBool aIsReconnect, TRequestStatus& aStatus);
   139 	IMPORT_C void Authenticate(TDes& aUsername, TDes& aPassword, TBool aIsReconnect, TRequestStatus& aStatus);
   140 	IMPORT_C void Reconnect(TBool& aResponse, TRequestStatus& aStatus);
   141 	IMPORT_C TInt OpenPct();
   142 	IMPORT_C TInt WritePct(const TDesC& aData);
   143 	IMPORT_C void ReadPct(TDes& aData, TRequestStatus& aStatus);
   144 	IMPORT_C void DestroyPctNotification(TRequestStatus& aStatus);
   145 	IMPORT_C void ClosePct();
   146 	IMPORT_C void QoSWarning(TBool& aResponse, TRequestStatus& aStatus);
   147 	IMPORT_C void CancelModemAndLocationSelection();
   148 	IMPORT_C void CancelIapConnection();
   149 	IMPORT_C void CancelWarnNewIapConnection();
   150 	IMPORT_C void CancelLogin();
   151 	IMPORT_C void CancelAuthenticate();
   152 	IMPORT_C void CancelReconnect();
   153 	IMPORT_C void CancelReadPct();
   154 	IMPORT_C void CancelDestroyPctNotification();
   155 	IMPORT_C void CancelQoSWarning();
   156 	IMPORT_C void AccessPointConnection(TUint32& aAccessPoint, TInt aAccessPointGroup, TRequestStatus& aStatus);
   157 	IMPORT_C void CancelAccessPointConnection();
   158 	IMPORT_C void AccessPointConnection(TUint32& aAP, TUint32 aAPType, TUint32& aBearerAPInd, TUint32 aBearerAPType, TRequestStatus& aStatus);
   159 
   160 private:
   161 	RDialogNotifier* iNotifier;
   162 	TPckg<TUint32> iIAP;
   163 	TPckg<TUint32> iModemId;
   164 	TPckg<TUint32> iLocationId;
   165 	TPckgBuf<TIspConnectionNames> iConNames;
   166 	TPckgBuf<TConnectionPrefs> iPrefs;
   167 	TPckg<TBool> iBool;
   168 	TPckgBuf<TUint32> iPctBuffer;
   169 	TPckgBuf<TPctResponse> iPctResponse;
   170 	TPckgBuf<TAuthenticationPair> iAuthenticationPair;
   171 	TPckgBuf<TNewIapConnectionPrefs> iNewIapPrefsBuffer;
   172 	TPckgBuf<TUint32> iNotUsed;		// Parameters not used by plugin
   173 	TRequestStatus iStatus;
   174 	TPckg<TUint32> iAccessPoint;
   175 //	__FLOG_DECLARATION_MEMBER;
   176 	};
   177 
   178 IMPORT_C TInt StartDialogThread();
   179 
   180 #endif