// Generated by genprov 2.1.0 #include "Person_Provider.h" CIMPLE_NAMESPACE_BEGIN Person_Provider::Person_Provider() { } Person_Provider::~Person_Provider() { } Load_Status Person_Provider::load() { { Person* instance = Person::create(); instance->ssn.value = 1; instance->first.value = "Homer"; instance->last.value = "Simpson"; _map.insert(instance); } { Person* instance = Person::create(); instance->ssn.value = 2; instance->first.value = "Marge"; instance->last.value = "Simpson"; _map.insert(instance); } { Person* instance = Person::create(); instance->ssn.value = 3; instance->first.value = "Lisa"; instance->last.value = "Simpson"; _map.insert(instance); } { Person* instance = Person::create(); instance->ssn.value = 4; instance->first.value = "Maggie"; instance->last.value = "Simpson"; _map.insert(instance); } { Person* instance = Person::create(); instance->ssn.value = 5; instance->first.value = "Bart"; instance->last.value = "Simpson"; _map.insert(instance); } return LOAD_OK; } Unload_Status Person_Provider::unload() { #if USE_THREAD _stop.inc(); void* value_ptr = 0; Thread::join(_thread, value_ptr); #endif _map.clear(); return UNLOAD_OK; } Get_Instance_Status Person_Provider::get_instance( const Person* model, Person*& instance) { // This is more efficient than using NOT_SUPPORTED return _map.get_instance(model, instance); } Enum_Instances_Status Person_Provider::enum_instances( const Person* model, Enum_Instances_Handler* handler) { return _map.enum_instances(model, handler); } Create_Instance_Status Person_Provider::create_instance( Person* instance) { if (instance->ssn.null == true) { return CREATE_INSTANCE_FAILED; } return _map.create_instance(instance); } Delete_Instance_Status Person_Provider::delete_instance(const Person* instance) { return _map.delete_instance(instance); } Modify_Instance_Status Person_Provider::modify_instance( const Person* model, const Person* instance) { //print(model); //print(instance); return _map.modify_instance(model, instance); } Invoke_Method_Status Person_Provider::hello( const Person* self, const Property& message, Property& response, Property& return_value) { Person* me; return_value.null = false; response.null = false; me = _map.lookup(self); if (me == NULL) { response.value = String("I cannot find your ssn in my Person list"); return_value.value = 1; } else { response.null = false; String response_msg = "Hello back to you "; response_msg.append(me->first.value); response_msg.append("."); response.value = response_msg; return_value.value = 0; } return INVOKE_METHOD_OK; } /*@END@*/ CIMPLE_NAMESPACE_END