00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00026 #include "Target.ih"
00027
00028
00029 #include "Levels.hh"
00030
00031 #define prefix_ inline
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef DOXYGEN
00040
00041 template <class A1>
00042 prefix_ void senf::log::Target::route(action_t action, int index)
00043 {
00044 route<A1,mpl::nil,mpl::nil>(action, index);
00045 }
00046
00047 template <class A1, class A2>
00048 prefix_ void senf::log::Target::route(action_t action, int index)
00049 {
00050 route<A1,A2,mpl::nil>(action, index);
00051 }
00052
00053 template <class A1, class A2, class A3>
00054 prefix_ void senf::log::Target::route(action_t action, int index)
00055 {
00056 typedef detail::RouteParameters<A1,A2,A3> Params;
00057 route( detail::InstanceP<typename Params::Stream, detail::StreamBase>::value(),
00058 detail::InstanceP<typename Params::Area, detail::AreaBase>::value(),
00059 Params::Level::value,
00060 action, index);
00061 }
00062
00063 template <class A1>
00064 prefix_ void senf::log::Target::unroute(action_t action)
00065 {
00066 unroute<A1,mpl::nil,mpl::nil>(action);
00067 }
00068
00069 template <class A1, class A2>
00070 prefix_ void senf::log::Target::unroute(action_t action)
00071 {
00072 unroute<A1,A2,mpl::nil>(action);
00073 }
00074
00075 template <class A1, class A2, class A3>
00076 prefix_ void senf::log::Target::unroute(action_t action)
00077 {
00078 typedef detail::RouteParameters<A1,A2,A3> Params;
00079 unroute( detail::InstanceP<typename Params::Stream, detail::StreamBase>::value(),
00080 detail::InstanceP<typename Params::Area, detail::AreaBase>::value(),
00081 Params::Level::value,
00082 action);
00083 }
00084
00085 #endif
00086
00087
00088
00089
00090 template <class Stream, class Area, class Level>
00091 prefix_ void senf::log::detail::write(std::string const & msg)
00092 {
00093 TargetRegistry::instance().write(Stream::instance(), Area::instance(), Level::value, msg);
00094 }
00095
00096
00097 #undef prefix_
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108