41 lines
753 B
C++
41 lines
753 B
C++
/**
|
|
* Copyright (C) ARM Limited 2010-2014. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef SOURCE_H
|
|
#define SOURCE_H
|
|
|
|
#include <pthread.h>
|
|
|
|
class Sender;
|
|
|
|
class Source {
|
|
public:
|
|
Source();
|
|
virtual ~Source();
|
|
|
|
virtual bool prepare() = 0;
|
|
void start();
|
|
virtual void run() = 0;
|
|
virtual void interrupt() = 0;
|
|
void join();
|
|
|
|
virtual bool isDone() = 0;
|
|
virtual void write(Sender *sender) = 0;
|
|
|
|
private:
|
|
static void *runStatic(void *arg);
|
|
|
|
pthread_t mThreadID;
|
|
|
|
// Intentionally undefined
|
|
Source(const Source &);
|
|
Source &operator=(const Source &);
|
|
};
|
|
|
|
#endif // SOURCE_H
|