CRef<CGC_Assembly> CGenomicCollectionsService::GetAssembly(const string& acc_, CGCClient_GetAssemblyRequest::EAssemblyMode mode) { string acc = NStr::TruncateSpaces(acc_); ValidateAsmAccession(acc); return GetAssembly(acc, ToStringMode(mode)); }
mono::object CScriptClass::CreateInstance(IMonoArray *pConstructorParams) { CScriptDomain *pDomain = static_cast<CScriptDomain *>(GetAssembly()->GetDomain()); MonoObject *pInstance = mono_object_new(pDomain->GetMonoDomain(), (MonoClass *)m_pObject); if(pConstructorParams) InvokeArray((mono::object)pInstance, ".ctor", pConstructorParams); else mono_runtime_object_init(m_pObject); return (mono::object)pInstance; }
mono::object CScriptClass::GetFieldValue(mono::object object, const char *fieldName, bool throwOnFail) { MonoClassField *pField = GetMonoField(fieldName); if(pField) { CScriptDomain *pDomain = static_cast<CScriptDomain *>(GetAssembly()->GetDomain()); MonoObject *fieldValue = mono_field_get_value_object(pDomain->GetMonoDomain(), pField, (MonoObject *)object); if(fieldValue) return (mono::object)fieldValue; } else if(throwOnFail) GetMonoScriptSystem()->GetCorlibAssembly()->GetException("System", "MissingFieldException", "Failed to locate field %s in class %s", fieldName, GetName())->Throw(); return nullptr; }
CRef<CGC_Assembly> CGenomicCollectionsService::GetAssembly(int releaseId, CGCClient_GetAssemblyRequest::EAssemblyMode mode) { return GetAssembly(releaseId, ToStringMode(mode)); }