defuze.me  Client
container.hpp
00001 /**************************************************************************
00002 ** defuze.me Epitech Innovative Project
00003 **
00004 ** Copyright 2010-2011
00005 **   Athena Calmettes - Jocelyn De La Rosa - Francois Gaillard
00006 **   Adrien Jarthon - Alexandre Moore - Luc Peres - Arnaud Sellier
00007 **
00008 ** All rights reserved.
00009 **************************************************************************/
00010 
00011 namespace Queue {
00012     class Container;
00013 }
00014 
00015 #ifndef CONTAINER_HPP
00016 #define CONTAINER_HPP
00017 
00018 #include <QObject>
00019 #include <deque>
00020 #include "queueable.hpp"
00021 
00022 namespace Queue
00023 {
00031     class Container : public QObject
00032     {
00033         Q_OBJECT
00034     public:
00035         explicit Container(QObject *parent = 0);
00036         unsigned                size() const;
00037         bool                    empty() const;
00038         const QueueableDeque&   getChildren() const;
00039 
00040         virtual QString         name() const;                   
00041 
00042     signals:
00043 
00044     public slots:
00045     private:
00046         QueueableDeque          children;
00047     };
00048 }
00049 
00050 #endif // CONTAINER_HPP