Wtx ~ Wt Extension Library
WtxLib
Template.h
1 /**************************************************************************
2 ###########################################################################
3 ##
4 ## $SHOWOFFDB_BEGIN_LICENSE$
5 ## Copyright (C) 2011 Lorimark Solutions, LLC and/or its subsidiary(-ies).
6 ## All rights reserved.
7 ## Contact: Lorimark Solutions, LLC (info@showoff-db.org)
8 ##
9 ## This file is part of the Showoff Database Application Framework.
10 ##
11 ## Commercial Usage
12 ## Licensees holding valid ShowoffDB Commercial licenses may use this file in
13 ## accordance with the ShowoffDB Commercial License Agreement provided with the
14 ## Software or, alternatively, in accordance with the terms contained in
15 ## a written agreement between you and Lorimark Solutions, LLC.
16 ##
17 ## GNU Lesser General Public License Usage
18 ## Alternatively, this file may be used under the terms of the GNU Lesser
19 ## General Public License version 2.1 as published by the Free Software
20 ## Foundation and appearing in the file LICENSE.LGPL included in the
21 ## packaging of this file. Please review the following information to
22 ## ensure the GNU Lesser General Public License version 2.1 requirements
23 ## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 ##
25 ## In addition, as a special exception, Lorimark Solutions, LLC gives
26 ## you certain additional rights. These rights are described in the
27 ## Lorimark Solutions, LLC ShowoffDB LGPL Exception version 1.0, included in
28 ## the file LGPL_EXCEPTION.txt in this package.
29 ##
30 ## GNU General Public License Usage
31 ## Alternatively, this file may be used under the terms of the GNU
32 ## General Public License version 3.0 as published by the Free Software
33 ## Foundation and appearing in the file LICENSE.GPL included in the
34 ## packaging of this file. Please review the following information to
35 ## ensure the GNU General Public License version 3.0 requirements will be
36 ## met: http://www.gnu.org/copyleft/gpl.html.
37 ##
38 ## If you have questions regarding the use of this file, please contact
39 ## Lorimark Solutions, LLC at info@showoff-db.org.
40 ## $SHOWOFFDB_END_LICENSE$
41 ##
42 #############################################################################
43 ****************************************************************************/
44 
45 
46 #ifndef __WTX_SYS_LOG_TEMPLATE_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
47 #define __WTX_SYS_LOG_TEMPLATE_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
48 
49 #include <Wtx/Dbo/PermissionItemTpl.h>
50 #include <Wtx/Sys/User/Item.h>
51 #include "Definition.h"
52 
53 namespace Wtx {
54  namespace Sys {
55  namespace Log {
56 
57 template <class C> class Template
59 {
60  public:
61 
62  Template()
64  {
65  }
66 
67  Template( const std::string & key )
69  {
70  }
71 
72  static Definition & TableDef()
73  {
74  return C::TableDef();
75  }
76 
77  Wtx::Dbo::Field<std::string> & clip() { return m_clip; }
78  const Wtx::Dbo::Field<std::string> & clip() const { return m_clip; }
79 
80  Wtx::Dbo::Field<int> level() { return m_level; }
81  const Wtx::Dbo::Field<int> level() const { return m_level; }
82 
83  Wtx::Dbo::Field<std::string> & details() { return m_details; }
84  const Wtx::Dbo::Field<std::string> & details() const { return m_details; }
85 
87  const Wtx::Dbo::FieldLookup<Wt::Dbo::ptr< Wtx::Sys::User::Item >> & user() const { return m_user; }
88 
89  Wtx::Dbo::FieldDate & date() { return m_date; }
90  const Wtx::Dbo::FieldDate & date() const { return m_date; }
91 
92  Wtx::Dbo::Field<std::string> & extra() { return m_extra; }
93  const Wtx::Dbo::Field<std::string> & extra() const { return m_extra; }
94 
95  Wtx::Dbo::Field<int> & sourceId() { return m_sourceId; }
96  const Wtx::Dbo::Field<int> & sourceId() const { return m_sourceId; }
97 
98  template<class Action> void persist( Action &a )
99  {
101 
102  m_clip .persist( a, &TableDef().ClipFieldDef );
103  m_level .persist( a, &TableDef().LevelFieldDef );
104  m_details .persist( a, &TableDef().DetailsFieldDef );
105  m_user .persist( a, &TableDef().UserFieldDef );
106  m_date .persist( a, &TableDef().DateFieldDef );
107  m_extra .persist( a, &TableDef().ExtraFieldDef );
108  m_sourceId .persist( a, &TableDef().SourceIdFieldDef );
109 
110  }
111 
112  private:
113 
115  Wtx::Dbo::Field<int> m_level;
118  Wtx::Dbo::FieldDate m_date;
120  Wtx::Dbo::Field<int> m_sourceId;
121 
122 };
123 
124  } // endnamespace Log
125  } // endnamespace Sys
126 } // endnamespace Wtx
127 
128 
129 #endif
130 
Field Date.
Definition: FieldDate.h:61
witty extension library
Definition: Activity.h:51