43 lines
1.0 KiB
C
43 lines
1.0 KiB
C
|
/*
|
||
|
* Copyright 2015, Rene Gollent, rene@gollent.com.
|
||
|
* Distributed under the terms of the MIT License.
|
||
|
*/
|
||
|
#ifndef VALUE_FORMATTER_H
|
||
|
#define VALUE_FORMATTER_H
|
||
|
|
||
|
|
||
|
#include <Referenceable.h>
|
||
|
|
||
|
class BString;
|
||
|
class Settings;
|
||
|
class Value;
|
||
|
|
||
|
|
||
|
class ValueFormatter : public BReferenceable {
|
||
|
public:
|
||
|
virtual ~ValueFormatter();
|
||
|
|
||
|
virtual Settings* GetSettings() const = 0;
|
||
|
// returns NULL, if no settings
|
||
|
|
||
|
virtual status_t FormatValue(Value* value, BString& _output)
|
||
|
= 0;
|
||
|
|
||
|
virtual bool SupportsValidation() const;
|
||
|
virtual bool ValidateFormattedValue(
|
||
|
const BString& input,
|
||
|
type_code type) const;
|
||
|
// checks if the passed in string
|
||
|
// would be considered a valid value
|
||
|
// according to the current format
|
||
|
// configuration and the size constraints
|
||
|
// imposed by the passed in type.
|
||
|
virtual status_t GetValueFromFormattedInput(
|
||
|
const BString& input, type_code type,
|
||
|
Value*& _output) const;
|
||
|
// returns reference
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // VALUE_FORMATTER_H
|