CLAM-Development
1.4.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Standard
Filename.hxx
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001-2004 MUSIC TECHNOLOGY GROUP (MTG)
3
* UNIVERSITAT POMPEU FABRA
4
*
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*
20
*/
21
22
#ifndef _FILENAME_H_
23
#define _FILENAME_H_
24
#include <exception>
25
#include <iosfwd>
26
#include "
Text.hxx
"
27
#include "
Assert.hxx
"
28
#include "
Component.hxx
"
29
#include "
TypeInfo.hxx
"
30
#include <string>
31
32
namespace
CLAM {
33
44
class
Filename
:
public
Text
45
{
46
public
:
48
struct
Filter
{
49
const
char
*
description
;
50
const
char
*
wildcard
;
51
};
52
Filename
() {}
53
Filename
(
const
std::string & s) :
Text
(s) {}
54
Filename
(
const
char
* s) :
Text
(s) {}
55
virtual
~Filename
() {}
56
60
virtual
const
char
*
TypeFamily
()
const
{
return
""
; }
64
virtual
const
Filter
*
Filters
()
const
{
65
static
const
Filter
filters[] = {
66
{0, 0}
67
};
68
return
filters;
69
}
70
};
71
102
class
InFilename
:
public
Filename
103
{
104
public
:
105
InFilename
(
const
std::string & s=
""
) :
Filename
(s) {}
106
InFilename
(
const
char
* s) :
Filename
(s) {}
107
};
108
138
class
OutFilename
:
public
Filename
139
{
140
public
:
141
OutFilename
(
const
std::string & s=
""
) :
Filename
(s) {}
142
OutFilename
(
const
char
* s) :
Filename
(s) {}
143
};
144
145
CLAM_TYPEINFOGROUP
(BasicCTypeInfo, Filename);
146
CLAM_TYPEINFOGROUP
(BasicCTypeInfo, InFilename);
147
CLAM_TYPEINFOGROUP
(BasicCTypeInfo, OutFilename);
148
149
}
150
151
#endif // _FILENAME_H_
152
Generated by
1.8.1