/*! \file pidevicepool.h
 * \brief Single collection of devices
*/
/*
    PIP - Platform Independent Primitives
    Single collection of devices
    Copyright (C) 2014  Ivan Pelipenko peri4ko@gmail.com

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef PIDEVICEPOOL_H
#define PIDEVICEPOOL_H

#include "piiodevice.h"

class PIP_EXPORT PIDevicePool: public PIObject
{
	PIOBJECT(PIDevicePool)
public:
	
	PIDevicePool();
	~PIDevicePool();


//! \handlers
//! \{

	//! \fn bool initialize()
	//! \brief Initialize device

//! \}
//! \vhandlers
//! \{

	//! \fn void flush()
	//! \brief Immediate write all buffers
	
//! \}
//! \events
//! \{

	//! \fn void threadedWriteEvent(ullong id, int written_size)
	//! \brief Raise if write thread succesfull write some data of task with ID "id"
	
//! \}

protected:

private:

};

#endif // PIDEVICEPOOL_H
