Mercurial > hg > gpsynth
annotate src/evaluator.hpp @ 0:add35537fdbb tip
Initial import
author | irh <ian.r.hobson@gmail.com> |
---|---|
date | Thu, 25 Aug 2011 11:05:55 +0100 |
parents | |
children |
rev | line source |
---|---|
ian@0 | 1 // Copyright 2011, Ian Hobson. |
ian@0 | 2 // |
ian@0 | 3 // This file is part of gpsynth. |
ian@0 | 4 // |
ian@0 | 5 // gpsynth is free software: you can redistribute it and/or modify |
ian@0 | 6 // it under the terms of the GNU General Public License as published by |
ian@0 | 7 // the Free Software Foundation, either version 3 of the License, or |
ian@0 | 8 // (at your option) any later version. |
ian@0 | 9 // |
ian@0 | 10 // gpsynth is distributed in the hope that it will be useful, |
ian@0 | 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of |
ian@0 | 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ian@0 | 13 // GNU General Public License for more details. |
ian@0 | 14 // |
ian@0 | 15 // You should have received a copy of the GNU General Public License |
ian@0 | 16 // along with gpsynth in the file COPYING. |
ian@0 | 17 // If not, see http://www.gnu.org/licenses/. |
ian@0 | 18 |
ian@0 | 19 // Graph evaluator interface |
ian@0 | 20 |
ian@0 | 21 #pragma once |
ian@0 | 22 |
ian@0 | 23 #include "synth_graph.hpp" |
ian@0 | 24 |
ian@0 | 25 #include <cstddef> |
ian@0 | 26 #include <string> |
ian@0 | 27 #include <vector> |
ian@0 | 28 |
ian@0 | 29 // Used to listen to evaluator work thread notifications |
ian@0 | 30 struct EvaluatorListenerInterface { |
ian@0 | 31 virtual void GraphRatedNotification(std::size_t graphs_rated) = 0; |
ian@0 | 32 }; |
ian@0 | 33 |
ian@0 | 34 struct EvaluatorInterface { |
ian@0 | 35 virtual void RateGraphs(std::vector<sg::Graph>& graph) = 0; |
ian@0 | 36 virtual void SetWorkFolder(const std::string& path) = 0; |
ian@0 | 37 virtual void SetListener(EvaluatorListenerInterface* listener) = 0; |
ian@0 | 38 }; |