LRESULT CRTCAVSession::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(LOWORD(wParam)) { case ID_FILE_EXIT: PostMessage(m_hWnd, WM_CLOSE, 0, 0); break; case IDC_MIC_MUTE: DoMute(RTCAD_MICROPHONE); break; case IDC_SPK_MUTE: DoMute(RTCAD_SPEAKER); break; } return 0; }
int main(int argc, char * argv[]) { Operations operation; if (argc < 2 || (operation = GetOperation(argv[1])) == NumOperations || argc < RequiredArgsForOperation[operation]) { Operations op; fputs("usage: c_api { ", stderr); for (op = OpListen; op < NumOperations; op++) { if (op > OpListen) fputs(" | ", stderr); fputs(OperationNames[op], stderr); } fputs(" } [ A-party [ B-party ] ]\n", stderr); return 1; } puts("Initialising.\n"); if (!InitialiseOPAL()) return 1; switch (operation) { case OpListen : puts("Listening.\n"); HandleMessages(60000); break; case OpCall : if (argc > 3) { if (!DoCall(argv[2], argv[3])) break; } else { if (!DoCall(NULL, argv[2])) break; } HandleMessages(15000); break; case OpMute : if (!DoCall(NULL, argv[2])) break; HandleMessages(15000); if (!DoMute(1)) break; HandleMessages(15000); if (!DoMute(0)) break; HandleMessages(15000); break; case OpHold : if (!DoCall(NULL, argv[2])) break; HandleMessages(15000); if (!DoHold()) break; HandleMessages(15000); break; case OpTransfer : if (!DoCall(NULL, argv[2])) break; HandleMessages(15000); if (!DoTransfer(argv[3])) break; HandleMessages(15000); break; case OpConsult : if (!DoCall(NULL, argv[2])) break; HandleMessages(15000); if (!DoHold()) break; HandleMessages(15000); if (!DoCall(NULL, argv[3])) break; HandleMessages(15000); if (!DoTransfer(HeldCallToken)) break; HandleMessages(15000); break; case OpRegister : if (!DoRegister(argv[2], argv[3])) break; HandleMessages(15000); break; default : break; } puts("Exiting.\n"); ShutDownFunction(hOPAL); return 0; }