| Index: remoting/jingle_glue/jingle_thread.h
|
| ===================================================================
|
| --- remoting/jingle_glue/jingle_thread.h (revision 0)
|
| +++ remoting/jingle_glue/jingle_thread.h (revision 0)
|
| @@ -0,0 +1,70 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef REMOTING_JINGLE_GLUE_JINGLE_THREAD_H
|
| +#define REMOTING_JINGLE_GLUE_JINGLE_THREAD_H
|
| +
|
| +#include "base/tracked_objects.h"
|
| +#include "base/waitable_event.h"
|
| +#include "talk/base/messagequeue.h"
|
| +#include "talk/base/taskrunner.h"
|
| +#include "talk/base/thread.h"
|
| +
|
| +class MessageLoop;
|
| +
|
| +namespace buzz {
|
| +class XmppClient;
|
| +}
|
| +
|
| +namespace remoting {
|
| +
|
| +class TaskPump : public talk_base::MessageHandler,
|
| + public talk_base::TaskRunner {
|
| + public:
|
| + TaskPump();
|
| +
|
| + // TaskRunner methods.
|
| + void WakeTasks();
|
| + int64 CurrentTime();
|
| +
|
| + // MessageHandler methods.
|
| + void OnMessage(talk_base::Message* pmsg);
|
| +};
|
| +
|
| +// TODO(sergeyu): This class should be changed to inherit from Chromiums
|
| +// base::Thread instead of libjingle's thread.
|
| +class JingleThread : public talk_base::Thread,
|
| + private talk_base::MessageHandler {
|
| + public:
|
| + JingleThread();
|
| + virtual ~JingleThread();
|
| +
|
| + void Start();
|
| +
|
| + // Main function for the thread. Should not be called directly.
|
| + void Run();
|
| +
|
| + // Returns Chromiums message loop for this thread.
|
| + // TODO(sergeyu): remove this methid when we use base::Thread insted of
|
| + // talk_base::Thread
|
| + MessageLoop* message_loop() { return message_loop_; }
|
| +
|
| + // Returns task pump if the thread is running, otherwise NULL is returned.
|
| + TaskPump* task_pump() { return task_pump_; }
|
| +
|
| + private:
|
| + virtual void OnMessage(talk_base::Message* msg);
|
| +
|
| + void PumpAuxiliaryLoops();
|
| +
|
| + TaskPump* task_pump_;
|
| + base::WaitableEvent started_event_;
|
| + MessageLoop* message_loop_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(JingleThread);
|
| +};
|
| +
|
| +} // namespace remoting
|
| +
|
| +#endif // REMOTING_JINGLE_GLUE_JINGLE_THREAD_H
|
|
|
| Property changes on: remoting/jingle_glue/jingle_thread.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|