class Result_t
{
- long value;
+ int value;
const char* label;
Result_t();
public:
- static const Result_t& Find(long);
+ static const Result_t& Find(int);
+ static Result_t Delete(int);
- Result_t(long v, const char* l);
+ Result_t(int v, const char* l);
~Result_t();
inline bool operator==(const Result_t& rhs) const { return value == rhs.value; }
inline bool Success() const { return ( value >= 0 ); }
inline bool Failure() const { return ( value < 0 ); }
- inline long Value() const { return value; }
- inline operator long() const { return value; }
+ inline int Value() const { return value; }
+ inline operator int() const { return value; }
inline const char* Label() const { return label; }
inline operator const char*() const { return label; }
return Kumu::RESULT_NULL_STR; \
}
+namespace Kumu
+{
+ // simple tracing mechanism
+ class DTrace_t
+ {
+ DTrace_t();
+
+ protected:
+ const char* m_Label;
+ Result_t* m_Watch;
+ int m_Line;
+ const char* m_File;
+ int m_Sequence;
+
+ public:
+ DTrace_t(const char* Label, Result_t* Watch, int Line, const char* File);
+ ~DTrace_t();
+ };
+}
+
+#ifdef KM_TRACE
+#define WDTRACE(l) DTrace_t __wl__Trace__((l), 0, __LINE__, __FILE__)
+#define WDTRACER(l,r) DTrace_t __wl__Trace__((l), &(r), __LINE__, __FILE__)
+#else
+#define WDTRACE(l)
+#define WDTRACER(l,r)
+#endif
+
+
#endif // _KM_ERROR_H_
//