summaryrefslogtreecommitdiffstats
blob: e6d72b3f07f350adbf4a5fae068216be79399a1a (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
29
30
31
32
33
34
35
36
37
/*
 * Copyright (c) 2010-2016 Isode Limited.
 * All rights reserved.
 * See the COPYING file for more information.
 */

#include <Swiften/Base/SimpleIDGenerator.h>

namespace Swift {

SimpleIDGenerator::SimpleIDGenerator() {
}

SimpleIDGenerator::~SimpleIDGenerator() {
}

std::string SimpleIDGenerator::generateID() {
    bool carry = true;
    size_t i = 0;
    while (carry && i < currentID.size()) {
        char c = currentID[i];
        if (c >= 'z') {
            currentID[i] = 'a';
        }
        else {
            currentID[i] = c+1;
            carry = false;
        }
        ++i;
    }
    if (carry) {
        currentID += 'a';
    }
    return currentID;
}

}