Index: installer/src/installer-lib/custom-i18n.h |
=================================================================== |
new file mode 100644 |
--- /dev/null |
+++ b/installer/src/installer-lib/custom-i18n.h |
@@ -0,0 +1,47 @@ |
+/** |
+ * \file custom-i18n.h |
+ */ |
+ |
+#ifndef CUSTOM_I18N_H |
+#define CUSTOM_I18N_H |
+ |
+#include <database.h> |
+ |
+//------------------------------------------------------- |
+// Message box text |
+//------------------------------------------------------- |
+/** |
+ * Accessor to localizable content for custom actions. |
+ * |
+ * This class requires that the MSI contain a custom table named "AbpUIText" in the MSI database. |
+ * The WiX definition of that table is in the file "custom_i18n.wxi". |
+ * Each custom action has the responsibility for defining its own rows within this table. |
+ */ |
+class custom_message_text |
+{ |
+ Database & db ; |
+ const std::wstring component ; |
+ |
+public: |
+ custom_message_text( Database & db, const std::wstring component ) |
+ : db( db ), component( component ) |
+ {} |
+ |
+ std::wstring text( const std::wstring id ) |
+ { |
+ try { |
+ View v( db, L"SELECT `content` FROM `AbpUIText` WHERE `component`=? and `id`=?" ) ; |
+ Record arg( 2 ) ; |
+ arg.assign_string( 1, component ) ; |
+ arg.assign_string( 2, id.c_str() ) ; |
+ Record r( v.first( arg ) ) ; |
+ return r.value_string( 1 ) ; |
+ } |
+ catch( ... ) |
+ { |
+ return L" " ; |
+ } |
+ } |
+} ; |
+ |
+#endif |