int32 OsclSocketServI::Connect(uint32 aMessageSlots, bool aShareSession) { CONSTRUCT_STATS(this); #if (PV_SOCKET_SERVI_STATS) iServiStats = PVServiStats::Create(); START_SERVI_STATS(EServiSession_All); #endif //Connect to Oscl socket server OSCL_UNUSED_ARG(aMessageSlots); OSCL_UNUSED_ARG(aShareSession); //should only connect once if (iServState == ESocketServ_Connected) { return OsclErrGeneral; } #ifdef OsclSocketStartup //startup the socket system. bool ok; OsclSocketStartup(ok); if (!ok) { return OsclErrGeneral; } #endif//OsclSocketStartup iServState = ESocketServ_Idle; //Start the server thread or AO int32 err = StartServImp(); if (err != OsclErrNone) { return err; } //check state. if (iServState != ESocketServ_Connected) { //cleanup after a failure. Close(false); return OsclErrGeneral; } return OsclErrNone; }
void OsclSocketServI::ConstructL() { iSockServRequestList.iActiveRequests.reserve(6); ConstructServImp(); CONSTRUCT_STATS(this); }