blob: 5cadaf5444c011e265403d3b9199245080930c76 (
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
// $Id$
#ifndef ACEXML_SOFTPKG_H
#define ACEXML_SOFTPKG_H
#include "ace/pre.h"
#include "ACEXML/compass/Compass_Export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ACEXML/common/XML_Types.h"
#include "ace/Unbounded_Set.h"
class Compass_Export ACEXML_SoftPkg
{
public:
typedef ACEXML_String Localfile;
typedef ACEXML_String Fileinarchive;
typedef ACEXML_String EntryPoint;
typedef ACEXML_String Processor;
typedef ACEXML_String Compiler;
typedef ACEXML_String ProgLang;
struct PropertyFile
{
Fileinarchive file_;
void dump(void) const;
};
struct Dependency
{
ACEXML_String type_;
Localfile localfile_;
void dump(void) const;
};
struct OperSys
{
ACEXML_String name_;
ACEXML_String version_;
void dump(void) const;
};
struct Code
{
ACEXML_String type_;
Fileinarchive file_;
EntryPoint func_;
void dump(void) const;
};
struct Implementation
{
ACEXML_String id_;
OperSys os_;
Processor cpu_;
Compiler compiler_;
ProgLang lang_;
PropertyFile propfile_;
Code code_;
void dump(void) const;
};
typedef ACE_Unbounded_Set<Dependency*> Dependencies;
typedef ACE_Unbounded_Set_Iterator<Dependency*> DEP_ITERATOR;
typedef ACE_Unbounded_Set<Implementation*> Implementations;
typedef ACE_Unbounded_Set_Iterator<Implementation*> IMPL_ITERATOR;
ACEXML_SoftPkg();
~ACEXML_SoftPkg();
int start_element (const ACEXML_Char* element, const ACEXML_String& id);
void end_element (const ACEXML_Char* element);
const Implementations& get_impls (void) const;
const Dependencies& get_deps (void) const;
int set (const ACEXML_Char* element,
const ACEXML_String& attname,
const ACEXML_String& value);
void dump(void) const;
private:
ACEXML_String name_;
ACEXML_String version_;
ACEXML_String pkgtype_;
ACEXML_String title_;
ACEXML_String description_;
PropertyFile propfile_;
Code* current_code_;
Dependency* current_dep_;
Implementation* current_impl_;
Implementations impls_;
Dependencies deps_;
};
#include "ace/post.h"
#endif /* ACEXML_SOFTPKG_H */
|