]> Creatis software - cpPlugins.git/blob - lib/third_party/Pluma/Provider.cpp
36d4da33a87939494641425bfe4980a02129d894
[cpPlugins.git] / lib / third_party / Pluma / Provider.cpp
1 ////////////////////////////////////////////////////////////\r
2 //\r
3 // Pluma - Plug-in Management Framework\r
4 // Copyright (C) 2010-2012 Gil Costa (gsaurus@gmail.com)\r
5 //\r
6 // This software is provided 'as-is', without any express or implied warranty.\r
7 // In no event will the authors be held liable for any damages arising from the use of this software.\r
8 //\r
9 // Permission is granted to anyone to use this software for any purpose,\r
10 // including commercial applications, and to alter it and redistribute it freely,\r
11 // subject to the following restrictions:\r
12 //\r
13 // 1. The origin of this software must not be misrepresented;\r
14 //    you must not claim that you wrote the original software.\r
15 //    If you use this software in a product, an acknowledgment\r
16 //    in the product documentation would be appreciated but is not required.\r
17 //\r
18 // 2. Altered source versions must be plainly marked as such,\r
19 //    and must not be misrepresented as being the original software.\r
20 //\r
21 // 3. This notice may not be removed or altered from any source distribution.\r
22 //\r
23 ////////////////////////////////////////////////////////////\r
24 \r
25 \r
26 ////////////////////////////////////////////////////////////\r
27 // Headers\r
28 ////////////////////////////////////////////////////////////\r
29 #include <Pluma/Provider.hpp>\r
30 #include <Pluma/Host.hpp>\r
31 \r
32 \r
33 namespace pluma{\r
34 \r
35 ////////////////////////////////////////////////////////////\r
36 Provider::~Provider(){\r
37     // Nothing to do\r
38 }\r
39 \r
40 \r
41 ////////////////////////////////////////////////////////////\r
42 bool Provider::isCompatible(const Host& host) const{\r
43     // check compatibility with host\r
44     const std::string& type = this->plumaGetType();\r
45     if (!host.knows(type)) return false;\r
46     unsigned int lowest = host.getLowestVersion(type);\r
47     unsigned int current = host.getVersion(type);\r
48     unsigned int myVersion = this->getVersion();\r
49     return lowest <= myVersion && myVersion <= current;\r
50 }\r
51 \r
52 }   // namespace pluma\r