00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <drizzled/identifier.h>
00024 #include <drizzled/message/access.pb.h>
00025
00026 namespace drizzled {
00027 namespace message {
00028
00029 template<class T> void set_definer(T& reference, const identifier::User &arg)
00030 {
00031 message::Access *access= reference.mutable_access();
00032 access->set_definer(arg.username());
00033 }
00034
00035 template<class T> bool has_definer(const T& reference)
00036 {
00037 if (reference.has_access() and reference.access().has_definer() and (not reference.access().definer().empty()))
00038 {
00039 return true;
00040 }
00041
00042 return false;
00043 }
00044
00045 template<class T> const char *definer(const T& reference)
00046 {
00047 if (reference.has_access() and reference.access().has_definer())
00048 {
00049 return reference.access().definer().c_str();
00050 }
00051
00052 return "";
00053 }
00054
00055 }
00056 }