#include "ios/chrome/test/swift_interop/include/shared_ptr.h"
void RetainSharedObject(SharedObject* obj) {
if (obj) {
obj->AddRef();
g_live_object_count++;
}
}
void ReleaseSharedObject(SharedObject* obj) {
if (obj) {
obj->Release();
g_live_object_count--;
}
}
int GetSharedObjectLiveCount() {
return g_live_object_count;
}
void ResetSharedObjectLiveCount() {
g_live_object_count = 0;
}
SharedObject::SharedObject(int value) : value_(value) {}
SharedObject::~SharedObject() {}
SharedObject* SharedObject::create(int value) {
scoped_refptr<SharedObject> ptr = base::MakeRefCounted<SharedObject>(value);
ptr->AddRef();
g_live_object_count++;
return ptr.get();
}
bool SharedObject::IsValid() {
return true;
}
int SharedObject::GetValue() {
return value_;
}