summaryrefslogtreecommitdiff
path: root/src/options/base_options_handlers.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-09-21 10:24:08 +0000
committerMorgan Deters <mdeters@gmail.com>2012-09-21 10:24:08 +0000
commit9c543757e459bfae5ce1254322212f72af0d37a4 (patch)
tree710ae09a33cef2b8d80d1c5ceae9048301c8d460 /src/options/base_options_handlers.h
parent107988db066b3265c1cb80662e06f240def2a2c0 (diff)
better verbosity support (so it's sensible when the library is used via the API)
(this commit was certified error- and warning-free by the test-and-commit script.)
Diffstat (limited to 'src/options/base_options_handlers.h')
-rw-r--r--src/options/base_options_handlers.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/options/base_options_handlers.h b/src/options/base_options_handlers.h
index 76ba9e295..66dc97808 100644
--- a/src/options/base_options_handlers.h
+++ b/src/options/base_options_handlers.h
@@ -29,12 +29,43 @@
namespace CVC4 {
namespace options {
+inline void setVerbosity(std::string option, int value, SmtEngine* smt) throw(OptionException) {
+ if(Configuration::isMuzzledBuild()) {
+ DebugChannel.setStream(CVC4::null_os);
+ TraceChannel.setStream(CVC4::null_os);
+ NoticeChannel.setStream(CVC4::null_os);
+ ChatChannel.setStream(CVC4::null_os);
+ MessageChannel.setStream(CVC4::null_os);
+ WarningChannel.setStream(CVC4::null_os);
+ } else {
+ if(value < 2) {
+ ChatChannel.setStream(CVC4::null_os);
+ } else {
+ ChatChannel.setStream(std::cout);
+ }
+ if(value < 1) {
+ NoticeChannel.setStream(CVC4::null_os);
+ } else {
+ NoticeChannel.setStream(std::cout);
+ }
+ if(value < 0) {
+ MessageChannel.setStream(CVC4::null_os);
+ WarningChannel.setStream(CVC4::null_os);
+ } else {
+ MessageChannel.setStream(std::cout);
+ WarningChannel.setStream(std::cerr);
+ }
+ }
+}
+
inline void increaseVerbosity(std::string option, SmtEngine* smt) {
options::verbosity.set(options::verbosity() + 1);
+ setVerbosity(option, options::verbosity(), smt);
}
inline void decreaseVerbosity(std::string option, SmtEngine* smt) {
options::verbosity.set(options::verbosity() - 1);
+ setVerbosity(option, options::verbosity(), smt);
}
inline OutputLanguage stringToOutputLanguage(std::string option, std::string optarg, SmtEngine* smt) throw(OptionException) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback