#include "TranslatorRosterPrivate.h"
#include <Translator.h>
BTranslator::BTranslator()
:
fOwningRoster(NULL),
fID(0),
fRefCount(1)
{
}
BTranslator::~BTranslator()
{
}
BTranslator *BTranslator::Acquire()
{
if (atomic_add(&fRefCount, 1) > 0)
return this;
return NULL;
}
BTranslator *BTranslator::Release()
{
int32 oldValue = atomic_add(&fRefCount, -1);
if (oldValue > 1)
return this;
if (fOwningRoster == NULL) {
delete this;
return NULL;
}
BMessage deleteRequest(B_DELETE_TRANSLATOR);
deleteRequest.AddPointer("ptr", this);
deleteRequest.AddInt32("id", fID);
BMessenger sender(fOwningRoster);
sender.SendMessage(&deleteRequest);
return NULL;
}
int32
BTranslator::ReferenceCount()
{
return fRefCount;
}
status_t
BTranslator::MakeConfigurationView(BMessage* ioExtension,
BView** outView, BRect* outExtent)
{
return B_ERROR;
}
status_t
BTranslator::GetConfigurationMessage(BMessage* ioExtension)
{
return B_ERROR;
}
status_t BTranslator::_Reserved_Translator_0(int32 n, void *p) { return B_ERROR; }
status_t BTranslator::_Reserved_Translator_1(int32 n, void *p) { return B_ERROR; }
status_t BTranslator::_Reserved_Translator_2(int32 n, void *p) { return B_ERROR; }
status_t BTranslator::_Reserved_Translator_3(int32 n, void *p) { return B_ERROR; }
status_t BTranslator::_Reserved_Translator_4(int32 n, void *p) { return B_ERROR; }
status_t BTranslator::_Reserved_Translator_5(int32 n, void *p) { return B_ERROR; }
status_t BTranslator::_Reserved_Translator_6(int32 n, void *p) { return B_ERROR; }
status_t BTranslator::_Reserved_Translator_7(int32 n, void *p) { return B_ERROR; }