00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __CLIENT_SESSION_H
00026 #define __CLIENT_SESSION_H
00027
00028 #include <e32base.h>
00029
00030 #include "cobain.h"
00031 #include "cobainserver.h"
00032
00033 class RCobainClientSession : public RSessionBase
00034 {
00035 public:
00036 RCobainClientSession();
00037 ~RCobainClientSession();
00038 void ConstructL();
00039
00040 TInt Connect();
00041
00042
00043
00044 TPeerList * DiscoverBTPeersL(TUint aServiceClassID);
00045
00046
00047 void DiscoverPeers(TProtocol aProtocol, TUint aPort,
00048 TPckgBuf<TInt> *aPeerCountBuffer,
00049 TRequestStatus &aNotifyStatus);
00050 void FetchPeerData(TInt aPeerOrdinal, TPeerDataBuf *aPeerBuffer,
00051 TRequestStatus &aNotifyStatus);
00052
00053 void StartListening(TProtocol aProtocol, TUint aPort);
00054 void StopListening(TProtocol aProtocol, TUint aPort);
00055 void GetIncomingSocketL(TRequestStatus &aNotifyStatus);
00056 void CloseSocket(TInt aId, TBool aImmediately);
00057 RCobainSocket* ConnectSocketL(CNetworkPeer *aPeer);
00058 void Receive(TInt aSocketId, TDes8* aBuffer,
00059 TRequestStatus& aStatus);
00060 void CancelReceive(TInt aSocketId);
00061 TInt Send(TInt aSocketId, const TDesC8 *aBuf);
00062
00063 private:
00064
00065 TBool iIsConnected;
00066 };
00067
00068 #endif