aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/interface.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2014-11-11 04:14:01 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2014-11-11 04:14:01 +0100
commit7206f6d1249da0dd8e879d0c0b26185fc6ef89d9 (patch)
tree9f570b266ee49c06290c048b600346ab8b0dbddd /src/interface.h
parent0987ca8b5b1a6ff50bfc8c3b171fdaf6cfff3a2b (diff)
downloadsciteco-7206f6d1249da0dd8e879d0c0b26185fc6ef89d9.tar.gz
added all of SciTECO's declarations to the "SciTECO" namespace
normally, since SciTECO is not a library, this is not strictly necessary since every library should use proper name prefixes or namespaces for all global declarations to avoid name clashes. However * you cannot always rely on that * Scintilla does violate the practice of using prefixes or namespaces. The public APIs are OK, but it does define global functions/methods, e.g. for "Document" that clashed with SciTECO's "TECODocument" class at link-time. Scintilla can put its definitions in a namespace, but this feature cannot be easily enabled without patching Scintilla. * a "SciTECO" namespace will be necessary if "SciTECO" is ever to be turned into a library. Even if this library will have only a C-linkage API, it must ensure it doesn't clutter the global namespace. So the old "TECODocument" class was renamed back to "Document" (SciTECO::Document).
Diffstat (limited to 'src/interface.h')
-rw-r--r--src/interface.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/interface.h b/src/interface.h
index a2ff00d..e2d24de 100644
--- a/src/interface.h
+++ b/src/interface.h
@@ -27,6 +27,8 @@
#include "undo.h"
+namespace SciTECO {
+
/* avoid include dependency conflict */
class QRegister;
class Buffer;
@@ -129,6 +131,8 @@ public:
void process_notify(SCNotification *notify);
};
+} /* namespace SciTECO */
+
#ifdef INTERFACE_GTK
#include "interface-gtk.h"
#elif defined(INTERFACE_NCURSES)
@@ -137,7 +141,9 @@ public:
#error No interface selected!
#endif
-/* object defined in main.cpp */
-extern InterfaceCurrent interface;
+namespace SciTECO {
+ /* object defined in main.cpp */
+ extern InterfaceCurrent interface;
+}
#endif