CompilerPtr CompilersFoundDlg::GetCompiler(const wxDataViewItem& item) const { CompilersFoundDlgItemData* itemData = dynamic_cast<CompilersFoundDlgItemData*>(m_dataviewModel->GetClientObject(item)); if(itemData) { return itemData->GetCompiler(); } return CompilerPtr(NULL); }
/*static */CompilerPtr CompilerFactory::create(OJInt32_t language) { if(language == AppConfig::Language::C) { return CompilerPtr(new CCompiler()); } else if(language == AppConfig::Language::Cxx) { return CompilerPtr(new CppCompiler()); } else if(language == AppConfig::Language::Java) { return CompilerPtr(new JavaCompiler()); } //TODO: remove this assert. assert(false && "unsupport code language!"); return NULL; }