summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2TempPluginComparator.cpp
blob: 09da5fa2a060defc2169fe0c5ece823c960f810d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "T2TemplatePlugin.h"
#include "T2TempPluginComparator.h"

/*virtual*/ int T2TempPluginComparator::Compare(const void* inItemOne, const void* inItemTwo, unsigned int inSizeOne, unsigned int inSizeTwo) const {
    T2TemplatePlugin *p1 = *((T2TemplatePlugin **) inItemOne);
    T2TemplatePlugin *p2 = *((T2TemplatePlugin **) inItemTwo);

    if (!p2)
        return -1;
    else if (!p1)
        return 1;
    else
        return p1->GetSortKey() - p2->GetSortKey();
}

/*virtual*/ BOOL T2TempPluginComparator::IsEqualTo(const void* inItemOne, const void* inItemTwo, unsigned int inSizeOne, unsigned int inSizeTwo) const {
    T2TemplatePlugin *p1 = *((T2TemplatePlugin **) inItemOne);
    T2TemplatePlugin *p2 = *((T2TemplatePlugin **) inItemTwo);
    return p1->GetSortKey() == p2->GetSortKey();
}

/*static*/ T2TempPluginComparator* T2TempPluginComparator::sT2TempPluginComparator;

/*static*/ T2TempPluginComparator* T2TempPluginComparator::GetComparator() {
    if (!sT2TempPluginComparator)
        sT2TempPluginComparator = new T2TempPluginComparator;
    return sT2TempPluginComparator;
}