SCH_REFERENCE::SCH_REFERENCE( SCH_COMPONENT* aComponent, LIB_PART* aLibPart, SCH_SHEET_PATH& aSheetPath ) { wxASSERT( aComponent != NULL && aLibPart != NULL ); m_RootCmp = aComponent; m_Entry = aLibPart; m_Unit = aComponent->GetUnitSelection( &aSheetPath ); m_SheetPath = aSheetPath; m_IsNew = false; m_Flag = 0; m_TimeStamp = aComponent->GetTimeStamp(); m_CmpPos = aComponent->GetPosition(); m_SheetNum = 0; if( aComponent->GetRef( &aSheetPath ).IsEmpty() ) aComponent->SetRef( &aSheetPath, wxT( "DefRef?" ) ); wxString ref = aComponent->GetRef( &aSheetPath ); SetRef( ref ); m_NumRef = -1; if( aComponent->GetField( VALUE )->GetText().IsEmpty() ) aComponent->GetField( VALUE )->SetText( wxT( "~" ) ); m_Value = aComponent->GetField( VALUE ); }
status_t BFileInterface::HandleMessage(int32 message, const void *data, size_t size) { CALLED(); status_t rv; switch(message) { case FILEINTERFACE_SET_REF: { const fileinterface_set_ref_request *request = (const fileinterface_set_ref_request*) data; fileinterface_set_ref_reply reply; entry_ref ref(request->device, request->directory, request->name); reply.duration = request->duration; rv = SetRef(ref, request->create, &reply.duration); request->SendReply(rv, &reply, sizeof(reply)); return B_OK; } case FILEINTERFACE_GET_REF: { const fileinterface_get_ref_request *request = (const fileinterface_get_ref_request*) data; fileinterface_get_ref_reply reply; entry_ref resultRef; rv = GetRef(&resultRef, reply.mimetype); if (rv == B_OK) { reply.device = resultRef.device; reply.directory = resultRef.directory; strcpy(reply.name, resultRef.name); } request->SendReply(rv, &reply, sizeof(reply)); return B_OK; } case FILEINTERFACE_SNIFF_REF: { const fileinterface_sniff_ref_request *request = (const fileinterface_sniff_ref_request*) data; fileinterface_sniff_ref_reply reply; entry_ref ref(request->device, request->directory, request->name); rv = SniffRef(ref, reply.mimetype, &reply.capability); request->SendReply(rv, &reply, sizeof(reply)); return B_OK; } default: return B_ERROR; } return B_ERROR; }
void DataBlock::ObjectDestroy(void) { if(pool_) { size_ = 0; SetRef(1); pool_->Free(this); } else { this->~DataBlock(); free(this); } }
status_t _OwqRow::SetPreferences(const BMessage* prefs) { delete mRef; mRef = 0; entry_ref ref; if( prefs ) { bool b; const char* str; if( prefs->FindBool( "on", &b ) == B_OK ) mOn = b; if( prefs->FindString( "name", &str ) == B_OK ) mName = str; prefs->FindRef( "ref", &ref ); if( prefs->FindBool( "skip", &b ) == B_OK ) mSkip = b; } SetField( new BStringField( (mOn) ? "Yes" : "No" ), 0 ); SetField( new BStringField( mName.String() ), 1 ); SetRef( ref ); return B_OK; }