Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Unified Diff: webrtc/libjingle/examples/call/console.cc

Issue 1175243003: Remove webrtc/libjingle/{examples,session}. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/libjingle/examples/call/console.h ('k') | webrtc/libjingle/examples/call/friendinvitesendtask.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/libjingle/examples/call/console.cc
diff --git a/webrtc/libjingle/examples/call/console.cc b/webrtc/libjingle/examples/call/console.cc
deleted file mode 100644
index 0dfdd4b3ac859d51731be810d56f59f8027d2459..0000000000000000000000000000000000000000
--- a/webrtc/libjingle/examples/call/console.cc
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * libjingle
- * Copyright 2004--2005, Google Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#define _CRT_SECURE_NO_DEPRECATE 1
-
-#include <assert.h>
-
-#if defined(WEBRTC_POSIX)
-#include <signal.h>
-#include <termios.h>
-#include <unistd.h>
-#endif // WEBRTC_POSIX
-
-#include "talk/examples/call/callclient.h"
-#include "talk/examples/call/console.h"
-#include "webrtc/base/logging.h"
-#include "webrtc/base/messagequeue.h"
-#include "webrtc/base/stringutils.h"
-
-#ifdef WEBRTC_POSIX
-static void DoNothing(int unused) {}
-#endif
-
-Console::Console(rtc::Thread *thread, CallClient *client) :
- client_(client),
- client_thread_(thread),
- stopped_(false) {}
-
-Console::~Console() {
- Stop();
-}
-
-void Console::Start() {
- if (stopped_) {
- // stdin was closed in Stop(), so we can't restart.
- LOG(LS_ERROR) << "Cannot re-start";
- return;
- }
- if (console_thread_) {
- LOG(LS_WARNING) << "Already started";
- return;
- }
- console_thread_.reset(new rtc::Thread());
- console_thread_->Start();
- console_thread_->Post(this, MSG_START);
-}
-
-void Console::Stop() {
- if (console_thread_) {
-#ifdef WIN32
- CloseHandle(GetStdHandle(STD_INPUT_HANDLE));
-#else
- close(fileno(stdin));
- // This forces the read() in fgets() to return with errno = EINTR. fgets()
- // will retry the read() and fail, thus returning.
- pthread_kill(console_thread_->GetPThread(), SIGUSR1);
-#endif
- console_thread_->Stop();
- console_thread_.reset();
- stopped_ = true;
- }
-}
-
-void Console::SetEcho(bool on) {
-#ifdef WIN32
- HANDLE hIn = GetStdHandle(STD_INPUT_HANDLE);
- if ((hIn == INVALID_HANDLE_VALUE) || (hIn == NULL))
- return;
-
- DWORD mode;
- if (!GetConsoleMode(hIn, &mode))
- return;
-
- if (on) {
- mode = mode | ENABLE_ECHO_INPUT;
- } else {
- mode = mode & ~ENABLE_ECHO_INPUT;
- }
-
- SetConsoleMode(hIn, mode);
-#else
- const int fd = fileno(stdin);
- if (fd == -1)
- return;
-
- struct termios tcflags;
- if (tcgetattr(fd, &tcflags) == -1)
- return;
-
- if (on) {
- tcflags.c_lflag |= ECHO;
- } else {
- tcflags.c_lflag &= ~ECHO;
- }
-
- tcsetattr(fd, TCSANOW, &tcflags);
-#endif
-}
-
-void Console::PrintLine(const char* format, ...) {
- va_list ap;
- va_start(ap, format);
-
- char buf[4096];
- int size = vsnprintf(buf, sizeof(buf), format, ap);
- assert(size >= 0);
- assert(size < static_cast<int>(sizeof(buf)));
- buf[size] = '\0';
- printf("%s\n", buf);
- fflush(stdout);
-
- va_end(ap);
-}
-
-void Console::RunConsole() {
- char input_buffer[128];
- while (fgets(input_buffer, sizeof(input_buffer), stdin) != NULL) {
- client_thread_->Post(this, MSG_INPUT,
- new rtc::TypedMessageData<std::string>(input_buffer));
- }
-}
-
-void Console::OnMessage(rtc::Message *msg) {
- switch (msg->message_id) {
- case MSG_START:
-#if defined(WEBRTC_POSIX)
- // Install a no-op signal so that we can abort RunConsole() by raising
- // SIGUSR1.
- struct sigaction act;
- act.sa_handler = &DoNothing;
- sigemptyset(&act.sa_mask);
- act.sa_flags = 0;
- if (sigaction(SIGUSR1, &act, NULL) < 0) {
- LOG(LS_WARNING) << "Can't install signal";
- }
-#endif
- RunConsole();
- break;
- case MSG_INPUT:
- rtc::TypedMessageData<std::string> *data =
- static_cast<rtc::TypedMessageData<std::string>*>(msg->pdata);
- client_->ParseLine(data->data());
- break;
- }
-}
« no previous file with comments | « webrtc/libjingle/examples/call/console.h ('k') | webrtc/libjingle/examples/call/friendinvitesendtask.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698