aboutsummaryrefslogtreecommitdiff
path: root/src/rez/rez.h
blob: 5bbe206f24171b828d03da984c307e1c715ea5d5 (plain) (blame)
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
38
39
40
41
42
43
44
45
46
#ifndef REZ_H
#define REZ_H

#include <rez/dir.h>
#include <rez/file.h>
#include <rez/io.h>
#include <memory>
#include <string>

namespace rez
{

class ball
{
public:
    ball(const char *path);
    int parse();
    std::unique_ptr<rez::file> open(const char *path);

private:
    std::string toupper(const std::string &s) const;

    enum
    {
        FILE_FORMAT_VERSION,
        ROOT_DIR_POS,
        ROOT_DIR_SIZE,
        ROOT_DIR_TIME,
        NEXT_WRITE_POS,
        TIME,
        MAX_KEY_ARRAY,
        MAX_DIR_NAME_SIZE,
        MAX_REZ_NAME_SIZE,
        MAX_COMMENT_SIZE,

        N_WORDS
    };

    const std::string path;
    rez::io io;
    rez::dir root_dir;
};

}

#endif