author | William Roberts <williamr@symbian.org> |
Wed, 31 Mar 2010 12:27:01 +0100 | |
branch | Symbian2 |
changeset 3 | e1b950c65cb4 |
parent 2 | 2fe1408b6811 |
permissions | -rw-r--r-- |
2
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1 |
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
2 |
// All rights reserved. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
3 |
// This component and the accompanying materials are made available |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
4 |
// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
5 |
// which accompanies this distribution, and is available |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
6 |
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
7 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
8 |
// Initial Contributors: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
9 |
// Nokia Corporation - initial contribution. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
10 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
11 |
// Contributors: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
12 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
13 |
// Description: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
14 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
15 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
16 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
17 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
18 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
19 |
@file |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
20 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
21 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
22 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
23 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
24 |
#if !defined(__ES_PROT_H__) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
25 |
#define __ES_PROT_H__ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
26 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
27 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
28 |
#include <es_enum.h> |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
29 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
30 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
31 |
ESock subsession unique id |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
32 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
33 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
34 |
typedef TUint TSubSessionUniqueId; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
35 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
36 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
37 |
@internalComponent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
38 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
39 |
enum TConnStartType |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
40 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
41 |
EConnStartExplicit, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
42 |
EConnStartImplicit |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
43 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
44 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
45 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
46 |
@internalComponent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
47 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
48 |
enum TESOCKActivePriority |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
49 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
50 |
ESSExclusivePriority=100000, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
51 |
ECommReceivePriority=200, ///< Must always run. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
52 |
ECommTransmitPriority=100, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
53 |
ECAsyncImmediatePriority=75, ///< I.e. before a timer event goes off. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
54 |
ESocketTimerPriority=50, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
55 |
EActiveIpcPriority=20, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
56 |
EActiveHighPriority=10, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
57 |
EActiveMedPriority=0, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
58 |
EActiveLowPriority=-10, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
59 |
ECAsyncDeferredPriority=-20, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
60 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
61 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
62 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
63 |
End of data,Socket can't receive more data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
64 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
65 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
66 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
67 |
const TUint KNewDataEndofData = 0xFFFFFFFF; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
68 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
69 |
class CServProviderBase; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
70 |
class CSocket; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
71 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
72 |
class MSocketNotify |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
73 |
/** Abstract base class used by a CServProviderBase-derived object, through its |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
74 |
iSocket member, to notify the socket server that various events have occurred. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
75 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
76 |
The class provides several up-call member functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
77 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
78 |
All up-calls on an MSocketNotify should be made in the context of the socket |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
79 |
server's thread - i.e. the thread which called NewSAPL() on the protocol. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
80 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
81 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
82 |
@released Since v5.0 */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
83 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
84 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
85 |
/** Delete and detach flags. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
86 |
enum TDelete |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
87 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
88 |
/** Delete SAP */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
89 |
EDelete, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
90 |
/** Don't delete SAP */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
91 |
EDetach |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
92 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
93 |
/** Error codes. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
94 |
enum TOperationBitmasks |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
95 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
96 |
/** An error has occurred which affects Send() operations */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
97 |
EErrorSend=0x0000001, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
98 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
99 |
/** An error has occurred which affects Receive() operations. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
100 |
EErrorRecv=0x0000002, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
101 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
102 |
/** An error has occurred which affects Connect() operations */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
103 |
EErrorConnect=0x0000004, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
104 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
105 |
/** An error has occurred which affects Close() operations */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
106 |
EErrorClose=0x00000008, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
107 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
108 |
/** An error has occurred which affects Ioctl() operations */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
109 |
EErrorIoctl=0x00000010, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
110 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
111 |
/** A fatal error has occurred */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
112 |
EErrorFatal=0x10000000, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
113 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
114 |
/** An error has occurred which affects all operations */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
115 |
EErrorAllOperations=0x7fffffff, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
116 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
117 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
118 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
119 |
Indicates that new data is available on a service access point |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
120 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
121 |
For a stream-oriented protocol aCount should be a byte count; for datagram-oriented |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
122 |
sockets aCount should be a datagram count. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
123 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
124 |
@note aCount is the amount of new data, not the total amount of data waiting |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
125 |
to be read. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
126 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
127 |
@param aCount The amount of new data. A value of KNewDataEndofData indicates |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
128 |
that the socket is in a half-closed state and will receive no more data. Any subsequent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
129 |
reads will complete with KErrEof and a length of 0. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
130 |
virtual void NewData(TUint aCount) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
131 |
/** Indicates that new buffer space is available on a service. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
132 |
virtual void CanSend() = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
133 |
/** Indicates that a connection attempt has completed successfully (for active opens). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
134 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
135 |
There are four versions of this up-call: two are for active opens and two are for passive |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
136 |
opens. Both active and passive versions support a variant carrying user connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
137 |
data for protocols which support it. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
138 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
139 |
@note A connection-less protocol should never call the ConnectComplete() up-calls. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
140 |
@note A protocol should keep a count of sockets which have called ConnectComplete() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
141 |
but have not had Start() called. Sockets in this state have their Error() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
142 |
and NewData() calls deferred until Start() is called.*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
143 |
virtual void ConnectComplete() = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
144 |
/** Indicates that a connection attempt has completed successfully (for active opens). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
145 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
146 |
There are four versions of this up-call: two are for active opens and two are for passive |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
147 |
opens. Both active and passive versions support a variant carrying user connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
148 |
data for protocols which support it. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
149 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
150 |
@note A connection-less protocol should never call the ConnectComplete() up-calls. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
151 |
@note A protocol should keep a count of sockets which have called ConnectComplete() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
152 |
but have not had Start() called. Sockets in this state have their Error() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
153 |
and NewData() calls deferred until Start() is called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
154 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
155 |
@param aConnectData Connect data (if supported). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
156 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
157 |
virtual void ConnectComplete(const TDesC8& aConnectData) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
158 |
/** Indicates that a connection attempt has completed successfully (for passive opens). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
159 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
160 |
There are four versions of this up-call: two are for active opens and two are for passive |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
161 |
opens. Both active and passive versions support a variant carrying user connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
162 |
data for protocols which support it. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
163 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
164 |
The versions of ConnectComplete() for passive opens carry a new SSP (socket service |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
165 |
provider, or SAP) for the newly created socket. A new socket will then be linked up to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
166 |
the SSP and data transfer can take place. The original socket stays listening. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
167 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
168 |
@note A connection-less protocol should never call the ConnectComplete() up-calls. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
169 |
@note A protocol should keep a count of sockets which have called ConnectComplete() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
170 |
but have not had Start() called. Sockets in this state have their Error() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
171 |
and NewData() calls deferred until Start() is called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
172 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
173 |
@param aSSP The new SSP for passive opens. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
174 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
175 |
virtual void ConnectComplete(CServProviderBase& aSSP) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
176 |
/** Indicates that a connection attempt has completed successfully (for passive opens). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
177 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
178 |
There are four versions of this up-call: two are for active opens and two are for passive |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
179 |
opens. Both active and passive versions support a variant carrying user connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
180 |
data for protocols which support it. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
181 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
182 |
The versions of ConnectComplete() for passive opens carry a new SSP (socket service |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
183 |
provider, or SAP) for the newly created socket. A new socket will then be linked up to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
184 |
the SSP and data transfer can take place. The original socket stays listening. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
185 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
186 |
@note A connection-less protocol should never call the ConnectComplete() up-calls. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
187 |
@note A protocol should keep a count of sockets which have called ConnectComplete() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
188 |
but have not had Start() called. Sockets in this state have their Error() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
189 |
and NewData() calls deferred until Start() is called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
190 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
191 |
@param aSSP The new SSP for passive opens. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
192 |
@param aConnectData Connect data (if supported). */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
193 |
virtual void ConnectComplete(CServProviderBase& aSSP,const TDesC8& aConnectData) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
194 |
/** Indicates that the SAP has finished closing down. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
195 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
196 |
This up-call is the response to a Shutdown(). A connection-oriented protocol should call |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
197 |
CanClose() when it has terminated communications with the remote host. Protocols can call |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
198 |
CanClose() from within their Shutdown() code. After CanClose() has been called, an SAP may |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
199 |
be deleted by the socket server. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
200 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
201 |
@note The protocol must not access the CServProviderBase object after calling CanClose(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
202 |
@param aDelete Delete SAP. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
203 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
204 |
virtual void CanClose(TDelete aDelete=EDelete) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
205 |
/** Indicates that the SAP has finished closing down. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
206 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
207 |
This up-call is the response to a Shutdown(). A connection-oriented protocol should call |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
208 |
CanClose() when it has terminated communications with the remote host. Protocols can call |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
209 |
CanClose() from within their Shutdown() code. After CanClose() has been called, an SAP may |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
210 |
be deleted by the socket server. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
211 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
212 |
@note The protocol must not access the CServProviderBase object after calling CanClose(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
213 |
@param aDisconnectData Any user data carried on the disconnect frame. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
214 |
@param aDelete Delete SAP. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
215 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
216 |
virtual void CanClose(const TDesC8& aDisconnectData,TDelete aDelete=EDelete) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
217 |
/** Tells the socket server that an error state has arisen within the protocol. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
218 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
219 |
It should not be used to report programmatic errors, either in the protocol |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
220 |
itself or the socket server (a panic should be used in these cases). When |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
221 |
Error() is called on a connection-oriented socket, the socket is moved into |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
222 |
a dead state which denies user access to it. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
223 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
224 |
@param anError KErrNone or another of the system-wide error codes. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
225 |
@param anOperationMask A bitmask of TOperationBitmasks values specifying which |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
226 |
pending operations are affected by the Error up-call. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
227 |
virtual void Error(TInt anError,TUint anOperationMask=EErrorAllOperations) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
228 |
/** Indicates that the other end of a connection has disconnected. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
229 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
230 |
This is analogous to CanClose(), but in this case the other end initiated it. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
231 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
232 |
Once the client has called Shutdown() it is illegal to call Disconnect(). Instead, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
233 |
CanClose() or Error(KErrDisconnected) should be called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
234 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
235 |
virtual void Disconnect(void) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
236 |
/** Indicates that the other end of a connection has disconnected. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
237 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
238 |
This is analogous to CanClose(), but in this case the other end initiated it. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
239 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
240 |
Once the client has called Shutdown() it is illegal to call Disconnect(). Instead, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
241 |
CanClose() or Error(KErrDisconnected) should be called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
242 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
243 |
@param aConnectData User data in the disconnect frame. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
244 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
245 |
virtual void Disconnect(TDesC8& aDisconnectData) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
246 |
/** Indicates that the currently pending Ioctl has completed. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
247 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
248 |
The parameter aBuf is protocol defined - in fact it is defined by the specific |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
249 |
Ioctl. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
250 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
251 |
@param aBuf Any data requested by the Ioctl operation. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
252 |
virtual void IoctlComplete(TDesC8* aBuf) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
253 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
254 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
255 |
Indicates that there are no bearer available |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
256 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
257 |
@param aConnectionParams, the connection parameters. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
258 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
259 |
virtual void NoBearer(const TDesC8& aConnectionParams) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
260 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
261 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
262 |
Indicates the bearer available. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
263 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
264 |
@param aConnectionInfo, Information about socket connection. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
265 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
266 |
virtual void Bearer(const TDesC8& aConnectionInfo) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
267 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
268 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
269 |
Indicates that this socket is now completed an asynchronous join |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
270 |
with a sub-connection. It now can use the properties of the sub-connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
271 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
272 |
virtual void JoinedSubConnection() {;}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
273 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
274 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
275 |
Indicates that this socket was not able to complete an asynchronous join |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
276 |
with a sub-connection. The socket is still joined, but cannot use the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
277 |
properties of the sub-connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
278 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
279 |
@param aError Reason the socket could not be joined |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
280 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
281 |
virtual void SubConnectionJoinFailed(TInt /*aError*/) {;}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
282 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
283 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
284 |
Indicates that this socket has now completed an asynchronous leave |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
285 |
from a sub-connection. The socket is now connected to the sub-connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
286 |
anymore. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
287 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
288 |
virtual void LeftSubConnection() {;}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
289 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
290 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
291 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
292 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
293 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
294 |
class TNifProgress; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
295 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
296 |
class MConnectionNotify |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
297 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
298 |
* Callback interface from CConnectionProvdBase-derived classes |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
299 |
* @internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
300 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
301 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
302 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
303 |
virtual void SelectionComplete(TInt aError, const TDesC8& aSelectionInfo) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
304 |
virtual void ConnectionError(TInt aError) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
305 |
virtual void LinkLayerOpen(TInt aError) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
306 |
virtual void LinkLayerClosed(TInt aError) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
307 |
virtual void ProgressNotification(TInt aStage, TInt aError) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
308 |
virtual void ProgressNotification(TSubConnectionUniqueId aSubConnectionUniqueId, TInt aStage, TInt aError) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
309 |
virtual void ServiceChangeNotification(TUint32 aId, const TDesC& aType) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
310 |
virtual void InterfaceStateChangeNotification(TDesC8& aInfo) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
311 |
virtual void NotifyDataSent(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aUplinkVolume) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
312 |
virtual void NotifyDataReceived(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aDownlinkVolume) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
313 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
314 |
virtual void SubConnectionEvent(const TSubConnectionEvent& aSubConnectionEvent) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
315 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
316 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
317 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
318 |
@internalComponent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
319 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
320 |
enum TProtocolServiceInfo |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
321 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
322 |
ESocketSupport=0x00000001, ///< Can make sockets |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
323 |
ETransport=0x00000002, ///< Can act as a transport - ie can be bound to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
324 |
EPreferMBufChains=0x00000004, ///< Will process MBufChains (I.e. won't convert them to descriptors) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
325 |
EPreferDescriptors=0x00000008, ///< Will process Descriptors (I.e. won't convert them to MBufChains) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
326 |
ECantProcessMBufChains=0x00000010, ///< Will Panic if asked to process an MBufChain |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
327 |
ENeedMBufs=0x00000020, ///< Uses MBufChains internally. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
328 |
EUseCanSend=0x00000040, ///< Uses the inter-protocol CanSend upcall. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
329 |
EInterface=0x00000080, ///< Is a CInterfaceBase rather than CProtocolBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
330 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
331 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
332 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
333 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
334 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
335 |
enum TProtocolType |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
336 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
337 |
ENormalProtocol, ///< Normal protocol |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
338 |
EInterfaceProtocol ///< Has EInterface flags set and supports GetBinderL() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
339 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
340 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
341 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
342 |
@internalComponent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
343 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
344 |
const TInt KUnlimitedSockets=-1; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
345 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
346 |
struct TServerProtocolDesc : public TProtocolDesc |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
347 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
348 |
Contains data that describes a particular protocol. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
349 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
350 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
351 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
352 |
@see CProtocolFamilyBase::ProtocolList(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
353 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
354 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
355 |
TInt iServiceTypeInfo; ///< Set this to 1 if the protocol supports socket creation |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
356 |
TInt iNumSockets; ///< The maximum number of SSPs the protocol supports |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
357 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
358 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
359 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
360 |
class MResolverNotify |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
361 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
362 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
363 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
364 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
365 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
366 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
367 |
virtual void QueryComplete(TInt anError)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
368 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
369 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
370 |
/** Ensure that the requested length for datagrams is bigger than any real one. This ensures that |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
371 |
naive providers deliver them without truncation, so allowing the client to perform continuation reads. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
372 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
373 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
374 |
const TUint KGetDataWholeDatagram = 0x40000000; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
375 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
376 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
377 |
Security checker class passed down to providers which is used to perform security checks on the client |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
378 |
of the provider. The provider calls the CheckPolicy(...) method with a suitable TSecurityPolicy |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
379 |
class and a diagnostic string as arguments. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
380 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
381 |
@see CServProviderBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
382 |
@see CResolverProvdBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
383 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
384 |
@code |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
385 |
_LIT_SECURITY_POLICY_C1(myPolicy1, ECapabilityNetworkServices); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
386 |
... |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
387 |
TInt CMyProvider::SecurityCheck(MProvdSecurityChecker *aChecker) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
388 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
389 |
... |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
390 |
if (aChecker->CheckPolicy(myPolicy1, "CMyProvider main") == KErrNone) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
391 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
392 |
// client has NetworkServices capability |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
393 |
} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
394 |
... |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
395 |
} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
396 |
@endcode |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
397 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
398 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
399 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
400 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
401 |
class MProvdSecurityChecker |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
402 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
403 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
404 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
405 |
Check the security policy of a client process. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
406 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
407 |
Called from a socket or resolver provider to check whether the client process conforms to a security policy. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
408 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
409 |
@param aPolicy A TSecurityPolicy class instance containing the security information to be checked against the client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
410 |
@param aDiagnostic A diagnostic string used when logging system-wide security failures, else 0. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
411 |
@return KErrNone if client process has the required security information, else KErrPermissionDenied. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
412 |
(In the future, some other system error may be returned). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
413 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
414 |
virtual TInt CheckPolicy(const TSecurityPolicy& aPolicy, const char *aDiagnostic) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
415 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
416 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
417 |
class RMBufChain; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
418 |
class CSubConnectionProviderBase; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
419 |
class CServProviderBase : public CBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
420 |
/** Service Access Point. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
421 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
422 |
Provides transport services to a single protocol. Several of the calls to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
423 |
CServProviderBase have pre-conditions attached to them - for example |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
424 |
a connection oriented protocol must have its local address set (either by |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
425 |
a SetLocalName() or AutoBind()) before it is opened. If the socket server |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
426 |
calls the CServProviderBase in such an erroneous way, the protocol should panic. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
427 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
428 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
429 |
@released Since 5.0 */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
430 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
431 |
friend class ProtocolManager; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
432 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
433 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
434 |
/** Describes the behaviour the SAP should take on shutdown.*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
435 |
enum TCloseType |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
436 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
437 |
ENormal, ///< The protocol should shutdown gracefully — no further input or output will be requested. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
438 |
EStopInput, ///< The protocol should shut down gracefully — all further and pending input should be discarded. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
439 |
EStopOutput, ///< The protocol should shutdown gracefully — all pending output should be discarded. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
440 |
EImmediate ///< The protocol should close the connection immediately and free all resources without performing a graceful disconnect. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
441 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
442 |
IMPORT_C CServProviderBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
443 |
IMPORT_C virtual ~CServProviderBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
444 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
445 |
IMPORT_C virtual void SetNotify(MSocketNotify* aSocket); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
446 |
//V1.0 itf support |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
447 |
IMPORT_C virtual void SetSockType(TUint aSockType); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
448 |
IMPORT_C TUint SockType() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
449 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
450 |
IMPORT_C virtual void JoinSubConnectionL(CSubConnectionProviderBase& aSubConnProvider); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
451 |
IMPORT_C virtual void LeaveSubConnection(CSubConnectionProviderBase& aSubConnProvider); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
452 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
453 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
454 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
455 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
456 |
pure virtual |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
457 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
458 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
459 |
Start a service provider. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
460 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
461 |
virtual void Start()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
462 |
/** Gets the local name (address) of the socket service provider entity. The format |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
463 |
of the data in the TSockAddr object is defined by individual protocols. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
464 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
465 |
The local address is the address of the local machine plus a local port number. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
466 |
Generally only the port number is important, unless you have two IP interfaces, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
467 |
for example. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
468 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
469 |
@param anAddr The address to be filled in */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
470 |
virtual void LocalName(TSockAddr& anAddr) const =0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
471 |
/** Sets the local name (address) of the socket service provider entity. The format |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
472 |
of the data in the TSockAddr object is defined by individual protocols. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
473 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
474 |
@param anAddr The address |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
475 |
@return Returns KErrNone if the local name is correctly set or, if this is |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
476 |
not the case, an informative error number. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
477 |
virtual TInt SetLocalName(TSockAddr& anAddr)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
478 |
/** Gets the remote name (address) of the socket service provider entity. The format |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
479 |
of the data in the TSockAddr object is defined by individual protocols. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
480 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
481 |
A remote address is either the address you're sending data to (non connection-oriented |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
482 |
sockets)* or the remote end of the connection. It is the address of the remote |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
483 |
machine (your peer in the network) plus a port number. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
484 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
485 |
@note RemName is only meaningful if the socket server client has called Connect() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
486 |
to set up a default address for SendTo(). This function will only be called |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
487 |
on the protocol if this is the case. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
488 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
489 |
@param anAddr The address to be filled in */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
490 |
virtual void RemName(TSockAddr& anAddr) const =0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
491 |
/** Sets the remote name (address) of the socket service provider entity. The format |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
492 |
of the data in the TSockAddr object is defined by individual protocols. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
493 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
494 |
@param anAddr The address |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
495 |
@return Returns KErrNone if the remote name is correctly set or, if this is |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
496 |
not the case, an informative error number. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
497 |
virtual TInt SetRemName(TSockAddr& anAddr)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
498 |
/** Gets some protocol specific option when called by the socket server on behalf of a |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
499 |
client. A protocol may pass the request down a protocol stack (to protocols it is bound |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
500 |
to) using the GetOption() function of CProtocolBase. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
501 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
502 |
@param aLevel Option level. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
503 |
@param aName Option name. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
504 |
@param anOption Option data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
505 |
@return System wide error code. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
506 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
507 |
virtual TInt GetOption(TUint level,TUint name,TDes8& anOption)const =0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
508 |
/** Performs some protocol specific IO control. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
509 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
510 |
@note If this function is called erroneously, the protocol should call Error() on the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
511 |
socket. If an Ioctl call is already outstanding, the client will be panicked with the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
512 |
value ETwoIoctls. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
513 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
514 |
@param aLevel Option level. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
515 |
@param aName Option name. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
516 |
@param anOption Option data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
517 |
@return System wide error code. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
518 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
519 |
virtual void Ioctl(TUint level,TUint name,TDes8* anOption)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
520 |
/** Cancels an outstanding Ioctl call. You are guaranteed only to have one outstanding |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
521 |
at once. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
522 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
523 |
@param aLevel IOCTL level. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
524 |
@param aName IOCTL name. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
525 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
526 |
virtual void CancelIoctl(TUint aLevel,TUint aName)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
527 |
/** Sets some protocol specific option when called by the socket server on behalf of a |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
528 |
client. A protocol may pass the request down a protocol stack (to protocols it is bound |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
529 |
to) using the SetOption() function of CProtocolBase. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
530 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
531 |
@param aLevel Option level. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
532 |
@param aName Option name. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
533 |
@param anOption Option data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
534 |
@return System wide error code. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
535 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
536 |
virtual TInt SetOption(TUint level,TUint name,const TDesC8& anOption)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
537 |
virtual void ActiveOpen()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
538 |
/** Initiates a connection operation - this means that it tells the protocol to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
539 |
attempt to connect to a peer. It is called by the socket server in response |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
540 |
to a connect request from a client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
541 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
542 |
This version of the function has user data in the connection frame. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
543 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
544 |
Only ever called on connection-oriented sockets. Such a socket |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
545 |
should always have both the local address and the remote address specified |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
546 |
before this function is called. If this is not the case then the protocol |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
547 |
should panic. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
548 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
549 |
When a connection has completed, the protocol should call ConnectComplete() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
550 |
on its TNotify. If an error occurs during connection the protocol should not |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
551 |
call ConnectComplete() at all; instead it should call Error(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
552 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
553 |
@param aConnectionData If the protocol supports user specified connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
554 |
data, then it will be held in this buffer. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
555 |
virtual void ActiveOpen(const TDesC8& aConnectionData)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
556 |
/** Tells the protocol to start waiting for an incoming connection request on this |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
557 |
socket (i.e. port). It is called by the socket server in response to a listen |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
558 |
request from a client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
559 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
560 |
Only ever called on connection-oriented sockets. Such a socket |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
561 |
should always have both the local address and the remote address specified |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
562 |
before this function is called. If this is not the case, then the protocol |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
563 |
should panic. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
564 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
565 |
The aQue parameter is the number of sockets which can be waiting for an outstanding |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
566 |
Start after calling ConnectComplete(). The protocol should keep a count of |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
567 |
sockets in this state - incrementing a variable in ConnectComplete(), and |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
568 |
decrementing it in Start(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
569 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
570 |
When a connection has completed, the protocol should call ConnectComplete() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
571 |
on its TNotify. If an error occurs during connection the protocol should not |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
572 |
call ConnectComplete() at all; instead it should call Error(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
573 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
574 |
@param aQueSize Size of connect queue. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
575 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
576 |
virtual TInt PassiveOpen(TUint aQueSize)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
577 |
/** Tells the protocol to start waiting for an incoming connection request on this |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
578 |
socket (i.e. port). It is called by the socket server in response to a listen |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
579 |
request from a client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
580 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
581 |
This version of the function has user data in the connection frame. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
582 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
583 |
Only ever called on connection-oriented sockets. Such a socket |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
584 |
should always have both the local address and the remote address specified |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
585 |
before this function is called. If this is not the case then the protocol |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
586 |
should panic. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
587 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
588 |
The aQue parameter is the number of sockets which can be waiting for an outstanding |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
589 |
Start after calling ConnectComplete(). The protocol should keep a count of |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
590 |
sockets in this state - incrementing a variable in ConnectComplete(), and |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
591 |
decrementing it in Start(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
592 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
593 |
When a connection has completed the protocol should call ConnectComplete() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
594 |
on its TNotify. If an error occurs during connection the protocol should not |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
595 |
call ConnectComplete() at all; instead it should call Error(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
596 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
597 |
@param aQueSize size of connect queue |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
598 |
@param aConnectionData if the protocol supports user specified connection data |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
599 |
then it will be held in this buffer. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
600 |
virtual TInt PassiveOpen(TUint aQueSize,const TDesC8& aConnectionData)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
601 |
/** Terminates a connection (or closes a non connection-oriented socket down). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
602 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
603 |
The value of the option argument specifies the type of processing which will |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
604 |
be required of the protocol after this function is called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
605 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
606 |
Normally, when the socket server has called Shutdown() for a socket, it will |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
607 |
wait for the socket to call CanClose() before destroying the CServProviderBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
608 |
object. However, if the option argument is EImmediate, the CServProviderBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
609 |
will be destroyed as soon as Shutdown() returns. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
610 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
611 |
@param option The shutdown type. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
612 |
virtual void Shutdown(TCloseType option)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
613 |
/** Terminates a connection (or closes a non connection-oriented socket down). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
614 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
615 |
The value of the option argument specifies the type of processing which will |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
616 |
be required of the protocol after this function is called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
617 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
618 |
Normally, when the socket server has called Shutdown() for a socket, it will |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
619 |
wait for the socket to call CanClose() before destroying the CServProviderBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
620 |
object. However, if the option argument is EImmediate, the CServProviderBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
621 |
will be destroyed as soon as Shutdown() returns. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
622 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
623 |
@param option The shutdown type. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
624 |
@param aDisconnectionData If the protocol supports disconnect data, any such |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
625 |
data required will be held in this buffer. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
626 |
virtual void Shutdown(TCloseType option,const TDesC8& aDisconnectionData)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
627 |
/** Specifies that the protocol should choose a local address for the service access |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
628 |
point itself. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
629 |
virtual void AutoBind()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
630 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
631 |
// protocol read/write data; ESock v1.5 calls down to the v1.5 itf (RMBufChain). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
632 |
// v1.5-ready protocols implement this, laggard protocols inherit these base class |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
633 |
// implementations which call the v1.0 descriptor itf instead. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
634 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
635 |
/** Sends data onto the network via the protocol. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
636 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
637 |
Connection-oriented sockets must be in a connected state (that is ConnectComplete() has |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
638 |
been called on their MSocketNotify before Write() is called). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
639 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
640 |
The socket server keeps track of how much data is waiting and then tries to send it all |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
641 |
until the protocol tells it to hold off by returning 0 (datagram sockets) or 'less than |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
642 |
all data consumed' (stream sockets) to Write(). The protocol should call CanSend() when it |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
643 |
is ready to send more data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
644 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
645 |
anAddr is the address to write the data to. Connection oriented sockets always use the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
646 |
default value. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
647 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
648 |
@param aDesc The data to be sent. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
649 |
@param aOptions Protocol specific options. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
650 |
@param anAddr Address to write the data to. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
651 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
652 |
@returns For stream-oriented protocols the return value is the number of bytes actually written. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
653 |
If this is less than the length of the descriptor then the protocol should call CanSend() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
654 |
when it is ready to send more data. For datagram-oriented protocols, the write should return |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
655 |
either 0 if the write cannot be completed, or the length of the descriptor if the write succeeds - |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
656 |
no other values are valid. If the Write() must return 0, then it should call CanSend() when it is |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
657 |
ready to send more data. If the Write() fails due to some error, then it should call Error() with |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
658 |
an informative error number. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
659 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
660 |
IMPORT_C virtual TUint Write(const TDesC8& aDesc,TUint options, TSockAddr* anAddr=NULL); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
661 |
/** Sends data onto the network via the protocol. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
662 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
663 |
Connection-oriented sockets must be in a connected state (that is ConnectComplete() has |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
664 |
been called on their MSocketNotify before Write() is called). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
665 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
666 |
The socket server keeps track of how much data is waiting and then tries to send it all |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
667 |
until the protocol tells it to hold off by returning 0 (datagram sockets) or 'less than |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
668 |
all data consumed' (stream sockets) to Write(). The protocol should call CanSend() when it |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
669 |
is ready to send more data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
670 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
671 |
anAddr is the address to write the data to. Connection oriented sockets always use the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
672 |
default value. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
673 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
674 |
@param aData The data to be sent. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
675 |
@param aOptions Protocol specific options. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
676 |
@param anAddr Address to write the data to. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
677 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
678 |
@returns For stream-oriented protocols the return value is the number of bytes actually written. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
679 |
If this is less than the length of the descriptor then the protocol should call CanSend() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
680 |
when it is ready to send more data. For datagram-oriented protocols, the write should return |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
681 |
either 0 if the write cannot be completed, or the length of the descriptor if the write succeeds - |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
682 |
no other values are valid. If the Write() must return 0, then it should call CanSend() when it is |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
683 |
ready to send more data. If the Write() fails due to some error, then it should call Error() with |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
684 |
an informative error number. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
685 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
686 |
IMPORT_C virtual TInt Write(RMBufChain& aData, TUint aOptions, TSockAddr* anAddr=NULL); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
687 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
688 |
/** Gets data which the protocol has indicated is waiting in its buffers using the NewData |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
689 |
up-call on the MSocketNotify. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
690 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
691 |
GetData() will only ever be called for as much data as the protocol has specified it can process |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
692 |
using the NewData up-call. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
693 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
694 |
For stream oriented protocols GetData() should fill the descriptor with data from the stream. On |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
695 |
a datagram protocol GetData() should copy one datagram into the descriptor and set the length of |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
696 |
the descriptor. If a full datagram will not fit into the supplied descriptor, the overflow should |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
697 |
be discarded. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
698 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
699 |
anAddr should be filled in by the protocol with the address of where the data came from. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
700 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
701 |
@param aDesc The buffer for data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
702 |
@param aOptions Protocol specific options. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
703 |
@param anAddr Address where the data came from. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
704 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
705 |
IMPORT_C virtual void GetData(TDes8& aDesc,TUint options,TSockAddr* anAddr=NULL); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
706 |
/** Gets data which the protocol has indicated is waiting in its buffers using the NewData |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
707 |
up-call on the MSocketNotify. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
708 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
709 |
GetData() will only ever be called for as much data as the protocol has specified it can process |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
710 |
using the NewData up-call. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
711 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
712 |
For stream oriented protocols GetData() should fill the descriptor with data from the stream. On |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
713 |
a datagram protocol GetData() should copy one datagram into the descriptor and set the length of |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
714 |
the descriptor. If a full datagram will not fit into the supplied descriptor, the overflow should |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
715 |
be discarded. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
716 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
717 |
anAddr should be filled in by the protocol with the address of where the data came from. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
718 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
719 |
@param aDesc The buffer for data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
720 |
@param aOptions Protocol specific options. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
721 |
@param anAddr Address where the data came from. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
722 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
723 |
IMPORT_C virtual TInt GetData(RMBufChain& aData, TUint aLength, TUint aOptions, TSockAddr* anAddr=NULL); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
724 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
725 |
/** Use the class instance argument to perform security policy checks on the originating client process. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
726 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
727 |
This method is called when a SAP is created and when a socket is transferred between sessions. The SAP is |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
728 |
required to check whether the originating client process has enough privileges to request services from the SAP. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
729 |
The MProvdSecurityChecker class instance is used to perform security policy checks. The SAP may choose |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
730 |
to perform a security policy check in its SecurityCheck(...) method, or it may choose to store the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
731 |
MProvdSecurityChecker class instance argument and perform checking later (i.e. when subsequent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
732 |
SAP methods are called). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
733 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
734 |
@param aSecurityChecker Pointer to class used by SAP to perform security checks on the client process. This |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
735 |
pointer becomes invalid when the SAP is destroyed or detached. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
736 |
@returns KErrPermissionDenied if SAP wishes to disallow access to the client, else KErrNone. This would |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
737 |
normally be as a result of calling MProvdSecurityChecker::CheckPolicy(...) with a suitable security policy argument. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
738 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
739 |
IMPORT_C virtual TInt SecurityCheck(MProvdSecurityChecker *aSecurityChecker); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
740 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
741 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
742 |
/** On socket creation, the socket server sets this member to point to a server |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
743 |
notification interface. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
744 |
MSocketNotify* iSocket; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
745 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
746 |
//V1.0 interface support specifics |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
747 |
HBufC8* iV1ShimDataIn; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
748 |
HBufC8* iV1ShimDataOut; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
749 |
TUint iSockType; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
750 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
751 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
752 |
class CProtocolBase; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
753 |
class CResolverProvdBase : public CBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
754 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
755 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
756 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
757 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
758 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
759 |
friend class ProtocolManager; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
760 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
761 |
inline void SetNotify(MResolverNotify* aNotifier); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
762 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
763 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
764 |
@internalComponent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
765 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
766 |
virtual void CancelCurrentOperation()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
767 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
768 |
/** Use the class instance argument to perform security policy checks on the originating client process. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
769 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
770 |
This method is called when a resolver is created. The resolver is required to check whether the originating |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
771 |
client process has enough privileges to request services from the resolver. The MProvdSecurityChecker |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
772 |
class instance is used to perform security policy checks. The resolver may choose to perform a security |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
773 |
policy check in its SecurityCheck(...) method, or it may choose to store the MProvdSecurityChecker class |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
774 |
instance argument and use it to perform checking later (i.e. when subsequent resolver methods are called). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
775 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
776 |
@param aSecurityChecker Pointer to class used by resolver to perform security checks on the client process. This |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
777 |
pointer becomes invalid when the resolver is destroyed or detached. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
778 |
@returns KErrPermissionDenied if resolver wishes to disallow access to the client, else KErrNone. This would |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
779 |
normally be as a result of calling MProvdSecurityChecker::CheckPolicy(...) with a suitable security policy argument. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
780 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
781 |
IMPORT_C virtual TInt SecurityCheck(MProvdSecurityChecker *aSecurityChecker); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
782 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
783 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
784 |
MResolverNotify* iNotify; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
785 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
786 |
CProtocolBase* iProtocol; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
787 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
788 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
789 |
class CHostResolvProvdBase : public CResolverProvdBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
790 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
791 |
Provides Host name resolver service |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
792 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
793 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
794 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
795 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
796 |
friend class ProtocolManager; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
797 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
798 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
799 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
800 |
Get the Host name by name |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
801 |
@param aName, results of name queries |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
802 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
803 |
virtual void GetByName(TNameRecord& aName)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
804 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
805 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
806 |
Gets the Host name by address |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
807 |
@param aName, results of name queries |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
808 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
809 |
virtual void GetByAddress(TNameRecord& aName)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
810 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
811 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
812 |
Sets the Host name |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
813 |
@param aNameBuf, name to set |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
814 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
815 |
virtual void SetHostName(TDes& aNameBuf)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
816 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
817 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
818 |
Gets the Host name |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
819 |
@param aNameBuf, name to retrieve |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
820 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
821 |
virtual void GetHostName(TDes& aNameBuf)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
822 |
IMPORT_C virtual TInt SetOption(TUint level,TUint name,const TDesC8& anOption); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
823 |
IMPORT_C virtual void Query(const TDesC8& aQryBuf, TDes8& aResBuf, TInt aCounter); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
824 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
825 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
826 |
class CServiceResolvProvdBase : public CResolverProvdBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
827 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
828 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
829 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
830 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
831 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
832 |
friend class ProtocolManager; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
833 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
834 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
835 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
836 |
Get the Host name by name |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
837 |
@param aName, results of name queries |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
838 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
839 |
virtual void GetByName(const TDesC& aNameBuf,TInt32& aPortNum)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
840 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
841 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
842 |
Gets the Host name by address |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
843 |
@param aName, results of name queries |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
844 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
845 |
virtual void GetByNumber(TDes& aNameBuf,TInt32 aPortNum)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
846 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
847 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
848 |
Sets the Host name |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
849 |
@param aNameBuf, name to set |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
850 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
851 |
virtual void RegisterService(const TDesC& aNameBuf,TInt32 aPortNum)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
852 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
853 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
854 |
Gets the Host name |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
855 |
@param aNameBuf, name to retrieve |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
856 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
857 |
virtual void RemoveService(const TDesC& aNameBuf,TInt32 aPortNum)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
858 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
859 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
860 |
class CNetDBProvdBase : public CResolverProvdBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
861 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
862 |
Provides network Database access |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
863 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
864 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
865 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
866 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
867 |
friend class ProtocolManager; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
868 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
869 |
virtual void Query(TDes8& aBuffer)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
870 |
virtual void Add(TDes8& aBuffer)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
871 |
virtual void Remove(TDes8& aBuffer)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
872 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
873 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
874 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
875 |
Definition of argument to CConnectionProvdBase::SetUsageProfile() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
876 |
Bitmap masks |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
877 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
878 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
879 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
880 |
const TUint KConnProfileNone = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
881 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
882 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
883 |
Definition of argument to CConnectionProvdBase::SetUsageProfile() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
884 |
Bitmap masks |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
885 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
886 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
887 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
888 |
const TUint KConnProfileLong = 1; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
889 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
890 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
891 |
Definition of argument to CConnectionProvdBase::SetUsageProfile() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
892 |
Bitmap masks |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
893 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
894 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
895 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
896 |
const TUint KConnProfileMedium = 2; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
897 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
898 |
class TConnPref; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
899 |
class CSubConnectionProviderBase; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
900 |
class CNifIfBase; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
901 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
902 |
class CConnectionProvdBase : public CBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
903 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
904 |
* Base class for connection providers (currently nifman) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
905 |
* @internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
906 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
907 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
908 |
friend class ProtocolManager; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
909 |
friend class CConnection; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
910 |
friend class CConnectionSettingsShim; //to access the virtual "Do" db functions directly |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
911 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
912 |
IMPORT_C virtual ~CConnectionProvdBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
913 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
914 |
IMPORT_C TUint Id() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
915 |
IMPORT_C void SetConnectionProviderClient(MConnectionNotify* aClient); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
916 |
MConnectionNotify* ConnectionProviderClient(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
917 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
918 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
919 |
// SubConnectionProvider Management |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
920 |
void JoinL(CSubConnectionProviderBase& aSubConnProvider); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
921 |
void Leave(CSubConnectionProviderBase& aSubConnProvider); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
922 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
923 |
virtual void StartL(TConnStartType aConnectType, const RMessagePtr2* aMessage) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
924 |
virtual void StartL(TConnStartType aConnectType, const TConnPref& aPref, const RMessagePtr2* aMessage) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
925 |
virtual void AttachToConnectionL(const TDesC8& aConnectionInfo, TBool aMonitorAttach, const RMessagePtr2* aMessage) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
926 |
virtual TInt Stop(TInt aError, const RMessagePtr2* aMessage) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
927 |
virtual void ProgressL(TNifProgressBuf& aBuffer) const = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
928 |
virtual void ProgressL(TSubConnectionUniqueId aSubConnectionUniqueId, TNifProgressBuf& aBuffer) const = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
929 |
virtual void LastProgressError(TNifProgressBuf& aBuffer) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
930 |
virtual void RequestServiceChangeNotificationL() = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
931 |
virtual void CancelServiceChangeNotification() = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
932 |
virtual void EnumerateConnectionsL(RPointerArray<TConnectionInfo>& aConnectionInfoPtrArray) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
933 |
virtual TBool AllInterfaceNotificationL() = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
934 |
virtual void ControlL(TUint aOptionLevel, TUint aOptionName, TDes8& aOption, const RMessagePtr2* aMessage) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
935 |
virtual void SetUsageProfile(TUint aProfile) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
936 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
937 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
938 |
Stop the specified subconnection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
939 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
940 |
@param aSubConnectionUniqueId The id of the subconnection to be stopped |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
941 |
@param aError The error code to be propogated to the clients of the subconnection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
942 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
943 |
virtual TInt Stop(TSubConnectionUniqueId aSubConnectionUniqueId, TInt aError, const RMessagePtr2* aMessage)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
944 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
945 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
946 |
Find out the number of subconnetions on a connection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
947 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
948 |
@param aCount On return, contains the number of subconnections |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
949 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
950 |
virtual TInt EnumerateSubConnections(TUint& aCount)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
951 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
952 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
953 |
Get information about a subconnection specified only by generic index |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
954 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
955 |
@param aIndex |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
956 |
@param aSubConnectionInfo An appropriate SubConnectionInfo-derived class; on return, this is filled in |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
957 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
958 |
virtual TInt GetSubConnectionInfo(TUint aIndex, TDes8& aSubConnectionInfo)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
959 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
960 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
961 |
Get information about a subconnection specifed by its unique id |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
962 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
963 |
@param aSubConnectionInfo An appropriate SubConnectionInfo-derived class containing a valid TSubConnectionUniqueId; on return, this is filled in |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
964 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
965 |
virtual TInt GetSubConnectionInfo(TDes8& aSubConnectionInfo)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
966 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
967 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
968 |
Register for all subconnection notifications |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
969 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
970 |
virtual TInt AllSubConnectionNotificationEnable()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
971 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
972 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
973 |
Cancel registration for AllSubConnectionNotification |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
974 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
975 |
virtual TInt CancelAllSubConnectionNotification()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
976 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
977 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
978 |
Find out how much data has been sent and received |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
979 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
980 |
@param aSubConnectionUniqueId The id of the subconnection to which this request refers |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
981 |
@param aUplinkVolume The total number of bytes sent on this subconnection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
982 |
@param aDownlinkVolume The total number of bytes received on this subconnection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
983 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
984 |
virtual TInt DataTransferred(TSubConnectionUniqueId aSubConnectionUniqueId, TUint& aUplinkVolume, TUint& aDownlinkVolume)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
985 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
986 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
987 |
Cancel a request for the amount of data sent and received |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
988 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
989 |
@param aSubConnectionUniqueId The id of the subconnection that this request refers to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
990 |
@note At present this method is never called, as this is a synchronous operation on the server side |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
991 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
992 |
virtual TInt DataTransferredCancel(TSubConnectionUniqueId aSubConnectionUniqueId)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
993 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
994 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
995 |
Make a request for notifications about data sent at the specifed granularity on a specified subconnection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
996 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
997 |
@param aSubConnectionUniqueId The id of the subconnection to which this request refers |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
998 |
@param aUplinkGranularity The granularity in bytes at which notifications should be sent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
999 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1000 |
virtual TInt SetDataSentNotificationGranularity(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aUplinkGranularity)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1001 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1002 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1003 |
Cancel a request for notifications about data sent on a specified subconnection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1004 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1005 |
@param aSubConnectionUniqueId The id of the subconnection to which this request refers |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1006 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1007 |
virtual TInt DataSentNotificationCancel(TSubConnectionUniqueId aSubConnectionUniqueId)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1008 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1009 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1010 |
Make a request for notifications about data received at the specifed granularity on a specified subconnection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1011 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1012 |
@param aSubConnectionUniqueId The id of the subconnection to which this request refers |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1013 |
@param aDownlinkGranularity The granularity in bytes at which notifications should be sent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1014 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1015 |
virtual TInt SetDataReceivedNotificationGranularity(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aDownlinkGranularity)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1016 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1017 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1018 |
Cancel a request for notifications about data received on a specified subconnection |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1019 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1020 |
@param aSubConnectionUniqueId The id of the subconnection to which this request refers |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1021 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1022 |
virtual TInt DataReceivedNotificationCancel(TSubConnectionUniqueId aSubConnectionUniqueId)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1023 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1024 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1025 |
* SendIoctlMessageL forwards Ioctl request to the target |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1026 |
* Important - message has to be completed by the target. There is no notification back |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1027 |
* to the caller => meant for forwarding Ioctl messages the forwarding path is not really |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1028 |
* interested in apart from "routing informations" |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1029 |
* @param aMessage forwarded message (it's the caller's resposibility to forward just Ioctl |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1030 |
* messages) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1031 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1032 |
virtual void SendIoctlMessageL(const RMessage2& aMessage) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1033 |
virtual void SendCancelIoctl() = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1034 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1035 |
//PREQ399_REMOVE |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1036 |
#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1037 |
virtual CNifIfBase* GetNif(TInt aIndex) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1038 |
#endif |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1039 |
//SYMBIAN_NETWORKING_3GPPDEFAULTQOS //PREQ399_REMOVE |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1040 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1041 |
IMPORT_C void GetBoolSettingL(const TDesC& aSettingName, TBool& aValue ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1042 |
IMPORT_C void GetBoolSettingL(const TDesC& aSettingName, TBool& aValue, const RMessagePtr2* aMessage ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1043 |
IMPORT_C void GetDes16SettingL(const TDesC& aSettingName, TDes16& aValue ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1044 |
IMPORT_C void GetDes16SettingL(const TDesC& aSettingName, TDes16& aValue, const RMessagePtr2* aMessage ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1045 |
IMPORT_C void GetDes8SettingL(const TDesC& aSettingName, TDes8& aValue ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1046 |
IMPORT_C void GetDes8SettingL(const TDesC& aSettingName, TDes8& aValue, const RMessagePtr2* aMessage ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1047 |
IMPORT_C void GetIntSettingL(const TDesC& aSettingName, TUint32& aValue ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1048 |
IMPORT_C void GetIntSettingL(const TDesC& aSettingName, TUint32& aValue, const RMessagePtr2* aMessage ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1049 |
IMPORT_C HBufC* GetLongDesSettingLC(const TDesC& aSettingName, const RMessagePtr2* aMessage ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1050 |
IMPORT_C HBufC* GetLongDesSettingLC(const TDesC& aSettingName ); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1051 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1052 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1053 |
IMPORT_C CConnectionProvdBase(TUint aId); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1054 |
IMPORT_C void CreateL(MConnectionNotify* aConnection); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1055 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1056 |
virtual void DoGetIntSettingL(const TDesC& aSettingName, TUint32& aValue, const RMessagePtr2* aMessage ) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1057 |
virtual void DoGetBoolSettingL(const TDesC& aSettingName, TBool& aValue, const RMessagePtr2* aMessage ) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1058 |
virtual void DoGetDes8SettingL(const TDesC& aSettingName, TDes8& aValue, const RMessagePtr2* aMessage ) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1059 |
virtual void DoGetDes16SettingL(const TDesC& aSettingName, TDes16& aValue, const RMessagePtr2* aMessage ) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1060 |
virtual HBufC* DoGetLongDesSettingLC(const TDesC& aSettingName, const RMessagePtr2* aMessage ) = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1061 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1062 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1063 |
MConnectionNotify* iConnection; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1064 |
RPointerArray<CSubConnectionProviderBase> iSubConnProviders; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1065 |
TUint iId; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1066 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1067 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1068 |
class CProtocolFamilyBase; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1069 |
class RMBufChain; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1070 |
class CProtocolRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1071 |
class CProtocolBase : public CBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1072 |
/** Protocols created by protocol families must be instances of sub-classes of |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1073 |
the abstract CProtocolBase. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1074 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1075 |
@released Since v5.0 */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1076 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1077 |
friend class ProtocolManager; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1078 |
friend class CProtocolRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1079 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1080 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1081 |
IMPORT_C virtual CServProviderBase* NewSAPL(TUint aProtocol); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1082 |
IMPORT_C virtual CHostResolvProvdBase* NewHostResolverL(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1083 |
IMPORT_C virtual CServiceResolvProvdBase* NewServiceResolverL(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1084 |
IMPORT_C virtual CNetDBProvdBase* NewNetDatabaseL(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1085 |
IMPORT_C CProtocolBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1086 |
IMPORT_C virtual ~CProtocolBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1087 |
CProtocolFamilyBase* ProtocolFamily(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1088 |
IMPORT_C virtual void Close(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1089 |
IMPORT_C virtual void Open(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1090 |
IMPORT_C virtual void CloseNow(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1091 |
IMPORT_C virtual void StartSending(CProtocolBase* aProtocol); // Up |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1092 |
IMPORT_C TPtrC Tag(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1093 |
IMPORT_C virtual void InitL(TDesC& aTag); // From ProtocolManager before all binding. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1094 |
IMPORT_C virtual void StartL(); // From Protocol Manager - after all binding |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1095 |
IMPORT_C virtual void BindL(CProtocolBase* protocol, TUint id); // From higher protocol |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1096 |
IMPORT_C virtual void BindToL(CProtocolBase* protocol); // From Protocol Manager |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1097 |
IMPORT_C virtual TInt Send(RMBufChain& aPDU,CProtocolBase* aSourceProtocol=NULL); // Down |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1098 |
IMPORT_C virtual TInt Send(TDes8& aPDU,TSockAddr* to,TSockAddr* from=NULL,CProtocolBase* aSourceProtocol=NULL); // Done |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1099 |
IMPORT_C virtual void Process(RMBufChain&,CProtocolBase* aSourceProtocol=NULL); // Up |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1100 |
IMPORT_C virtual void Process(TDes8& aPDU,TSockAddr* from,TSockAddr* to=NULL,CProtocolBase* aSourceProtocol=NULL); // Up |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1101 |
IMPORT_C virtual TInt GetOption(TUint level,TUint name,TDes8& option,CProtocolBase* aSourceProtocol=NULL); // Down |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1102 |
IMPORT_C virtual TInt SetOption(TUint level,TUint name,const TDesC8& option,CProtocolBase* aSourceProtocol=NULL); // Down |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1103 |
IMPORT_C virtual void Error(TInt anError,CProtocolBase* aSourceProtocol=NULL); // Up |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1104 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1105 |
// Pure virtual |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1106 |
/** Fills in the passed TServerProtocolDesc with data describing the protocol. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1107 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1108 |
@param aProtocolDesc Protocol description object to fill in */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1109 |
virtual void Identify(TServerProtocolDesc* aProtocolDesc)const =0; // from anyone. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1110 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1111 |
inline TInt RefCount() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1112 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1113 |
IMPORT_C void CanClose(); // Up |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1114 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1115 |
void TryDelete(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1116 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1117 |
// TProtocolDesc iDesc; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1118 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1119 |
CProtocolRef* iManagerRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1120 |
TInt iRefCount; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1121 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1122 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1123 |
class CProtocolFamilyRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1124 |
class CLibUnloader; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1125 |
class CConnection; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1126 |
class CConnectionProvdBase; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1127 |
class CProtocolFamilyBase : public CBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1128 |
/** Defines the interface for protocol families. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1129 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1130 |
Protocol families must: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1131 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1132 |
be able to identify the protocols which they can create |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1133 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1134 |
be able to create instances of protocol objects for all the protocols they |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1135 |
advertise |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1136 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1137 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1138 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1139 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1140 |
friend class ProtocolManager; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1141 |
friend class CProtocolFamilyRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1142 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1143 |
IMPORT_C virtual ~CProtocolFamilyBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1144 |
IMPORT_C CProtocolFamilyBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1145 |
IMPORT_C virtual void Close(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1146 |
IMPORT_C virtual void Open(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1147 |
IMPORT_C virtual TInt Remove(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1148 |
IMPORT_C virtual TBool QueryVersionSupported(const TVersion& aVer) const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1149 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1150 |
void SetLibraryL(RLibrary& aLib); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1151 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1152 |
// Pure virtual |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1153 |
/** Initialises a protocol family. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1154 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1155 |
After the CProtocolFamilyBase-derived object has been created, the first function |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1156 |
called by the socket server on that object is Install(). It is at this point that the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1157 |
CProtocolFamilyBase-derived object should perform any initialisation which it needs. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1158 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1159 |
@return System-wide error code */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1160 |
virtual TInt Install()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1161 |
/** Creates a new protocol object. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1162 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1163 |
During socket creation, after the socket server has called Open() on a protocol family, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1164 |
it next calls this function to create an instance of a CProtocolBase-derived object - |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1165 |
the protocol itself. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1166 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1167 |
@param aSockType A supported socket type for the protocol family as advertised |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1168 |
in the protocol list. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1169 |
@param aProtocol A protocol number specifying a protocol returned by ProtocolList(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1170 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1171 |
@return A protocol, or NULL if some error has prevented the protocol from being |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1172 |
created. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1173 |
virtual CProtocolBase * NewProtocolL(TUint aSockType,TUint aProtocol)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1174 |
/** Gets a list of supported protocols. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1175 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1176 |
Called during initialisation, directly after Install(). ProtocolList() returns a list |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1177 |
of all the protocols in the protocol family. The protocol family object should allocate |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1178 |
memory to hold an array of TServerProtocolDesc structures. This function should then |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1179 |
fill them in and return the pointer and a count of the number of protocols |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1180 |
supported. The socket server caches this information, so that it does not |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1181 |
need to keep the protocol module loaded. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1182 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1183 |
The protocol family should not attempt to use static data (which it can't) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1184 |
or to free this memory later, as the socket server will automatically free |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1185 |
this storage. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1186 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1187 |
@param aProtocolList This pointer is set to point to memory allocated by the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1188 |
protocol family and filled in as described above |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1189 |
@return The number of protocols in this protocol family (and entries in the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1190 |
list of protocols) */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1191 |
virtual TUint ProtocolList(TServerProtocolDesc*& aProtocolList)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1192 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1193 |
inline TInt RefCount() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1194 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1195 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1196 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1197 |
/** Contains version information */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1198 |
TVersion iVersion; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1199 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1200 |
TInt iRefCount; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1201 |
CLibUnloader* iLibUnloader; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1202 |
CProtocolFamilyRef* iManagerRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1203 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1204 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1205 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1206 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1207 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1208 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1209 |
typedef CProtocolFamilyBase* (*TProtocolNew)(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1210 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1211 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1212 |
class SocketTimer |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1213 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1214 |
@internalComponent |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1215 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1216 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1217 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1218 |
IMPORT_C static void Queue(TTimeIntervalMicroSeconds32 aTimeInMicroSeconds,TDeltaTimerEntry& aTimer); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1219 |
IMPORT_C static void Remove(TDeltaTimerEntry& aTimer); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1220 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1221 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1222 |
class SocketServExt |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1223 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1224 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1225 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1226 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1227 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1228 |
IMPORT_C static CProtocolBase* FindAndLoadProtocolL(const TDesC& aName, TProtocolType aType=ENormalProtocol); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1229 |
IMPORT_C static CProtocolBase* FindAndLoadProtocolL(TUint aAddrFamily, TUint aSockType, TUint aProtocol); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1230 |
IMPORT_C static void InstallExtensionL(const TDesC& aDllName, const TDesC& aArgs); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1231 |
IMPORT_C static void OpenSession(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1232 |
IMPORT_C static void CloseSession(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1233 |
IMPORT_C static void InstallSchedulerWaitHook(TCallBack* aCall); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1234 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1235 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1236 |
class CSocketServExtRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1237 |
class CSocketServExtBase : public CBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1238 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1239 |
Base class for extensions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1240 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1241 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1242 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1243 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1244 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1245 |
IMPORT_C virtual ~CSocketServExtBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1246 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1247 |
IMPORT_C CSocketServExtBase(); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1248 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1249 |
virtual void InstallL(const TDesC& aArgs)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1250 |
virtual void Remove()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1251 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1252 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1253 |
friend class CSocketServExtRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1254 |
CSocketServExtRef* iExtRef; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1255 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1256 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1257 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1258 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1259 |
KSoOwnerInfo |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1260 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1261 |
Definition for internal SetOption() from ESock to Provider to communicate |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1262 |
socket owner information. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1263 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1264 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1265 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1266 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1267 |
const TInt KSOLProvider = 2; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1268 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1269 |
const TUint KSoOwnerInfo = 1 | KSocketInternalOptionBit; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1270 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1271 |
class TSoOwnerInfo |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1272 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1273 |
Class used to communicate the owner of a socket from ESOCK to Provider. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1274 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1275 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1276 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1277 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1278 |
TUidType iUid; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1279 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1280 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1281 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1282 |
KSoConnectionInfo |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1283 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1284 |
Definition for internal SetOption() from ESock to Provider to communicate |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1285 |
connection selection information. Note that the information is opaque |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1286 |
to ESock and comes from Nifman in the form of a TSoIfConnectionInfo class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1287 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1288 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1289 |
const TInt KSoConnectionInfo = 2 | KSocketInternalOptionBit; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1290 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1291 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1292 |
UID of Protocol Modules |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1293 |
@publishedPartner |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1294 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1295 |
const TInt KUidProtocolModule = 0x1000004A; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1296 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1297 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1298 |
UID of Unicode Protocol Modules |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1299 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1300 |
@internalTechnology |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1301 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1302 |
const TInt KUidUnicodeProtocolModule = 0x10003d38; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1303 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1304 |
/** @internalTechnology */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1305 |
const TInt KUidEsockExtension = 0x10000387; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1306 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1307 |
#include <es_prot.inl> |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1308 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1309 |
#endif |