ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/deliantra/dclient/src/backend/communicator/message_logger.cpp
Revision: 1.2
Committed: Mon Oct 18 14:11:46 2010 UTC (15 years, 11 months ago) by sf-pippijn
Branch: MAIN
Changes since 1.1: +34 -28 lines
Log Message:
check and log but do not die when ncurses stuff fails

File Contents

# User Rev Content
1 sf-pippijn 1.1 #include "deliantra/message_logger.h"
2    
3     #include "deliantra/data/fx.h"
4     #include "deliantra/data/item.h"
5    
6     #include <json/json.h>
7    
8     template<typename T, typename C>
9     static std::vector<T>
10     vector (C const &c)
11     {
12     return std::vector<T> (c.begin (), c.end ());
13     }
14    
15     template<typename T>
16 sf-pippijn 1.2 static logstream const &
17     operator , (logstream const &os, T const &v)
18 sf-pippijn 1.1 {
19     return os << ',' << v;
20     }
21    
22     template<typename T>
23 sf-pippijn 1.2 logstream const &
24     operator << (logstream const &os, std::vector<T> const &v)
25 sf-pippijn 1.1 {
26     os << '[';
27     for (auto it = v.begin (), et = v.end (); it != et; ++it)
28     {
29     os << *it;
30     if (it + 1 != et)
31     os << ',';
32     }
33     os << ']';
34     return os;
35     }
36    
37 sf-pippijn 1.2 static logstream const &
38     operator << (logstream const &os, data::fx const &fx)
39 sf-pippijn 1.1 {
40     os << "\n fx{";
41     os << fx.type
42     , fx.facenum
43     , vector<int> (vector<unsigned char> (fx.name))
44     ;
45     os << '}';
46     return os;
47     }
48    
49 sf-pippijn 1.2 static logstream const &
50     operator << (logstream const &os, data::item const &item)
51 sf-pippijn 1.1 {
52     os << "\n item{";
53     os << item.singular
54     , item.plural
55     , item.tag
56     , item.flags
57     , item.weight
58     , item.face
59     , item.nrof
60     , item.anim
61     , item.type
62     , int (item.animspeed)
63     ;
64     os << '}';
65     return os;
66     }
67    
68     template<typename K, typename V>
69 sf-pippijn 1.2 static logstream const &
70     operator << (logstream const &os, std::pair<K, V> const &pair)
71 sf-pippijn 1.1 {
72     os << "\n pair{";
73     os << pair.first
74     , pair.second
75     ;
76     os << '}';
77     return os;
78     }
79    
80     void
81     message_logger::addme_success ()
82     {
83 sf-pippijn 1.2 LOG ("server") << __func__ << "\n";
84 sf-pippijn 1.1 }
85    
86     void
87     message_logger::addspell ()
88     {
89 sf-pippijn 1.2 LOG ("server") << __func__ << "\n";
90 sf-pippijn 1.1 }
91    
92     void
93     message_logger::delinv (u32 tag)
94     {
95 sf-pippijn 1.2 LOG ("server") << __func__ << " (" << tag << ")\n";
96 sf-pippijn 1.1 }
97    
98     void
99     message_logger::delitem (std::vector<u32> const &items)
100     {
101 sf-pippijn 1.2 LOG ("server") << __func__ << " (" << items << ")\n";
102 sf-pippijn 1.1 }
103    
104     void
105     message_logger::drawinfo (std::string const &info)
106     {
107 sf-pippijn 1.2 LOG ("server") << __func__ << " (" << info << ")\n";
108 sf-pippijn 1.1 }
109    
110     void
111     message_logger::ext (Json::Value const &ext)
112     {
113 sf-pippijn 1.2 LOG ("server") << __func__ << " (" << ext << ")\n";
114 sf-pippijn 1.1 }
115    
116     void
117     message_logger::fx (std::vector<data::fx> const &faces)
118     {
119 sf-pippijn 1.2 LOG ("server") << __func__ << " (" << faces << ")\n";
120 sf-pippijn 1.1 }
121    
122     void
123     message_logger::item2 (u32 location, std::vector<data::item> const &items)
124     {
125 sf-pippijn 1.2 auto const &logs = LOG;
126     logs ("server") << __func__ << " (";
127 sf-pippijn 1.1 logs << location, items;
128     logs << ")\n";
129     }
130    
131     void
132     message_logger::map (data::map const &map)
133     {
134 sf-pippijn 1.2 //LOG ("server") << __func__ << "\n";
135 sf-pippijn 1.1 }
136    
137     void
138     message_logger::map_scroll (int dx, int dy)
139     {
140 sf-pippijn 1.2 auto const &logs = LOG;
141     logs ("server") << __func__ << " (";
142 sf-pippijn 1.1 logs << dx, dx;
143     logs << ")\n";
144     }
145    
146     void
147     message_logger::msg (int n, std::string const &channel, std::string const &msg)
148     {
149 sf-pippijn 1.2 auto const &logs = LOG;
150     logs ("server") << __func__ << " (";
151 sf-pippijn 1.1 logs << n, channel, msg;
152     logs << ")\n";
153     }
154    
155     void
156     message_logger::player (u32 tag, u32 weight, u32 face, std::string const &name)
157     {
158 sf-pippijn 1.2 auto const &logs = LOG;
159     logs ("server") << __func__ << " (";
160 sf-pippijn 1.1 logs << tag, weight, face, name;
161     logs << ")\n";
162     }
163    
164     void
165     message_logger::replyinfo (std::string const &title, std::vector<std::pair<int, std::string>> const &info)
166     {
167 sf-pippijn 1.2 auto const &logs = LOG;
168     logs ("server") << __func__ << " (";
169 sf-pippijn 1.1 logs << title, info;
170     logs << ")\n";
171     }
172    
173     void
174     message_logger::query (int flags, std::string const &prompt)
175     {
176 sf-pippijn 1.2 auto const &logs = LOG;
177     logs ("server") << __func__ << " (";
178 sf-pippijn 1.1 logs << flags, prompt;
179     logs << ")\n";
180     }
181    
182     void
183     message_logger::stats (data::statistics const &stats)
184     {
185 sf-pippijn 1.2 LOG ("server") << __func__ << "\n";
186 sf-pippijn 1.1 }
187    
188     void
189     message_logger::upditem (u08 flags, u32 location, data::item const &item)
190     {
191 sf-pippijn 1.2 auto const &logs = LOG;
192     logs ("server") << __func__ << " (";
193 sf-pippijn 1.1 logs << int (flags), location, item;
194     logs << ")\n";
195     }
196    
197     void
198     message_logger::version (Json::Value const &server_version)
199     {
200 sf-pippijn 1.2 LOG ("server") << __func__ << " (" << server_version << ")\n";
201 sf-pippijn 1.1 }