/* * sc.cpp * (C) gsd 2001 */ // #include <sstream> // for standard #include <strstream> // for g++ #include "sc.h" using namespace std; CSessionCon::~CSessionCon() { } void CSessionCon::assign( long dbid) { m_dbid = dbid; } void CSessionCon::receive( string message) { // istringstream is( message); // for standard istrstream is(message.c_str()); // for g++ long oper_id; string command; string uid; if ( is >> oper_id >> command >> uid ) { if ( "CALL" == command ) { send( oper_id, "SC: call initiated: " + uid); } else if ( "DISC" == command ) { send( oper_id, "SC: active call cleared" + uid); } } else send( oper_id, "SC: bad parameters"); } #ifdef TEST bool CSessionCon::regist( std::string u, long n) { cout << "Registering " << u << ", " << n << endl; return db->store( "terminal", u, CTerminal( u, n)); } bool CSessionCon::unregist( std::string u) // should check: is it in use? { cout << "Unregistering " << u << endl; return true; } bool CSessionCon::call( std::string u1, std::string u2) { cout << "Calling " << u1 << ", " << u2 << endl; // it might be used return true; } bool CSessionCon::discon( std::string u) { cout << "Disconnecting " << u << endl; return true; } bool CSessionCon::lcalls() { cout << "Listing active calls " << endl; return true; } bool CSessionCon::lregs() { cout << "Listing registered terminals " << endl; return true; } #endif