summaryrefslogtreecommitdiff
path: root/project2/ice/sliceCompile.h
blob: d8e8e320875006a92b59e63acd1d1544f2029b65 (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
#ifndef SLICECOMPILE_H
#define SLICECOMPILE_H

#include "iceCompile.h"
#include <string>
#include <Slice/Parser.h>
#include <Slice/Preprocessor.h>

class SliceCompile : public IceCompile {
	public:
		SliceCompile(const boost::filesystem::path & slice, const IceCompile::Deps & dep);

		unsigned int Count(const boost::filesystem::path & in) const;
		unsigned int Build(const boost::filesystem::path & in, const boost::filesystem::path & out) const;
		virtual void Headers(FILE *) const;
		virtual unsigned int Body(FILE *, Slice::UnitPtr) const = 0;

		boost::filesystem::path InputPath() const;

	private:
		unsigned int build(const boost::filesystem::path & in, FILE *) const;
};

#endif