static CWResult LocateFile(CWPluginContext context, const char* filename, FSSpec& file) { /* prefill the CWFileInfo struct */ CWFileInfo fileinfo; BlockZero(&fileinfo, sizeof(fileinfo)); // memset(&fileinfo, 0, sizeof(fileinfo)); fileinfo.fullsearch = true; fileinfo.suppressload = true; fileinfo.dependencyType = cwNormalDependency; fileinfo.isdependentoffile = kCurrentCompiledFile; /* locate the file name using the project's access paths */ CWResult err = CWFindAndLoadFile(context, filename, &fileinfo); if (err == cwNoErr) { file = fileinfo.filespec; } else if (err == cwErrFileNotFound) { char errmsg[200]; sprintf(errmsg, "Can't locate file \"%s\".", filename); CWResult callbackResult = CWReportMessage(context, 0, errmsg, 0, messagetypeError, 0); } return (err); }
void mac_error(const char* error_message) { CWReportMessage(gPluginContext, 0, error_message, 0, messagetypeError, 0); }
void mac_warning(const char* warning_message) { CWReportMessage(gPluginContext, 0, warning_message, 0, messagetypeWarning, 0); }
static CWResult mocify(CWPluginContext context, const QCString &source) { CWDisplayLines(context, line_count++); source.stripWhiteSpace(); CWResult err; bool dotmoc=false; QCString stem = source, ext; int dotpos = stem.findRev('.'); if(dotpos != -1) { ext = stem.right(stem.length() - (dotpos+1)); stem = stem.left(dotpos); if(ext == "cpp") dotmoc = true; } else { //whoa! } QCString dest; if(dotmoc) dest = stem + ".moc"; else dest = "moc_" + stem + ".cpp"; //moc it CWFileSpec destSpec; moc_status mocd = do_moc(context, source, dest, &destSpec, dotmoc); #if 0 QCString derr = "Weird"; switch(mocd) { case moc_success: derr = "Success"; break; case moc_parse_error: derr = "Parser Error"; break; case moc_no_qobject:derr = "No QOBJECT"; break; case moc_not_time: derr = "Not Time"; break; case moc_no_source: derr = "No Source"; break; case moc_general_error: derr = "General Error"; break; } char dmsg[200]; sprintf(dmsg, "\"%s\" %s", source.data(), derr.data()); CWReportMessage(context, NULL, dmsg, NULL, messagetypeError, 0); #endif //handle project if(mocd == moc_no_qobject) { char msg[400]; sprintf(msg, "\"%s\" No relevant classes found. No output generated.", source.data()); CWReportMessage(context, NULL, msg, NULL, messagetypeWarning, 0); } else if ((mocd == moc_success || mocd == moc_not_time) && !dotmoc) { long whichFile; CWNewProjectEntryInfo ei; memset(&ei, '\0', sizeof(ei)); ei.groupPath = "QtGenerated"; err = CWAddProjectEntry(context, &destSpec, true, &ei, &whichFile); if (!CWSUCCESS(err)) { char msg[200]; sprintf(msg, "\"%s\" not added", dest.data()); CWReportMessage(context, NULL, msg, NULL, messagetypeWarning, 0); } if(mocd == moc_success) CWSetModDate(context, &destSpec, NULL, true); } return cwNoErr; }