diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2008-09-24 16:08:08 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2008-09-24 16:08:08 +0200 |
commit | 91753e0f4b2e512259c52e6258d250ef3332c053 (patch) | |
tree | d64b451b6a43ea226a8cec85fd229b0740dae502 /src/Common/SystemBackend.h | |
parent | bea0bb0ff40dca9e5dba55c697c30e4fffaf0f66 (diff) | |
download | mad-91753e0f4b2e512259c52e6258d250ef3332c053.tar mad-91753e0f4b2e512259c52e6258d250ef3332c053.zip |
Ordne SystemBackends nach Priorit?ten
Diffstat (limited to 'src/Common/SystemBackend.h')
-rw-r--r-- | src/Common/SystemBackend.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/Common/SystemBackend.h b/src/Common/SystemBackend.h index 960082e..c531224 100644 --- a/src/Common/SystemBackend.h +++ b/src/Common/SystemBackend.h @@ -48,7 +48,16 @@ class SystemBackend { }; private: - static std::set<SystemBackend*> backends; + struct Compare { + bool operator() (const SystemBackend *b1, const SystemBackend *b2) { + if(b1->getPriority() == b2->getPriority()) + return (b1 > b2); + else + return (b1->getPriority() > b2->getPriority()); + } + }; + + static std::set<SystemBackend*, Compare> backends; protected: SystemBackend() {} @@ -76,6 +85,10 @@ class SystemBackend { return ret; } + virtual int getPriority() const { + return 0; + } + public: virtual ~SystemBackend() {} |