MODE: INLINE
#include <ctime>
#include <iostream>
struct DateRecipe01a {
DateRecipe01a() { update(false) ; }
~DateRecipe01a() { std::cout << "~DateRecipe01a()\n"; }
void update(bool trace = true) {
if (trace) std::cout << "DateRecipe01a::update()\n";
epoch = std::time(nullptr);
}
int get_epoch() const { return epoch; }
private:
std::time_t epoch;
};
namespace xs {
template <>
struct Typemap<DateRecipe01a*> : TypemapObject<DateRecipe01a*, DateRecipe01a*, ObjectTypePtr, ObjectStorageIV, StaticCast> {
static std::string package () { return "MyTest::Cookbook::DateRecipe01a"; }
};
}
struct DateRecipe01b {
DateRecipe01b() { update(false) ; }
~DateRecipe01b() { std::cout << "~DateRecipe01b()\n"; }
void update(bool trace = true) {
if (trace) std::cout << "DateRecipe01b::update()\n";
epoch = std::time(nullptr);
}
int get_epoch() const { return epoch; }
private:
std::time_t epoch;
};
namespace xs {
template <>
struct Typemap<DateRecipe01b*> : TypemapObject<DateRecipe01b*, DateRecipe01b*, ObjectTypePtr, ObjectStorageMG, StaticCast> {
static std::string package () { return "MyTest::Cookbook::DateRecipe01b"; }
};
}
MODULE = MyTest::Cookbook PACKAGE = MyTest::Cookbook::DateRecipe01a
PROTOTYPES: DISABLE
DateRecipe01a* DateRecipe01a::new() { RETVAL = new DateRecipe01a(); }
void DateRecipe01a::update()
std::time_t DateRecipe01a::get_epoch()
void DateRecipe01a::DESTROY() {
std::cout << "xs-adapter MyTest::Cookbook::DateRecipe01a::DESTROY\n";
}
MODULE = MyTest::Cookbook PACKAGE = MyTest::Cookbook::DateRecipe01b
PROTOTYPES: DISABLE
DateRecipe01b* DateRecipe01a::new() { RETVAL = new DateRecipe01b(); }
void DateRecipe01b::update()
std::time_t DateRecipe01b::get_epoch()