summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp/GenCPlusPlusUtil.h
blob: 35eefdd4c3e79d568bd6ffa0f1979211ff0f7e75 (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
38
39
40
41
// **********************************************************************
//
// Copyright (c) 2001
// MutableRealms, Inc.
// Huntsville, AL, USA
//
// All Rights Reserved
//
// **********************************************************************

#ifndef GEN_C_PLUS_PLUS_UTIL_H
#define GEN_C_PLUS_PLUS_UTIL_H

#include <Parser.h>
#include <OutputUtil.h>

namespace IceLang
{

std::string typeToString(const Type_ptr&);
std::string returnTypeToString(const Type_ptr&);
std::string inputTypeToString(const Type_ptr&);
std::string outputTypeToString(const Type_ptr&);

void writeMarshalUnmarshalCode(Output&, const Type_ptr&, const std::string&, bool);

void writeMarshalCode(Output&,
		      const std::list<std::pair<Type_ptr, std::string> >&,
		      const Type_ptr&);

void writeUnmarshalCode(Output&,
			const std::list<std::pair<Type_ptr, std::string> >&,
			const Type_ptr&);

void writeAllocateCode(Output&,
			const std::list<std::pair<Type_ptr, std::string> >&,
			const Type_ptr&);

}

#endif