MWCC/includes/plugin_internal.h

92 lines
2.3 KiB
C

#pragma once
#include "plugin.h"
#ifdef __MWERKS__
#pragma options align=mac68k
#endif
struct CWPluginPrivateContext {
CWPluginPrivateContext(SInt32 thePluginType, SInt32 totalSize = 0);
~CWPluginPrivateContext();
SInt32 request;
SInt32 apiVersion;
void *shellContext;
void *pluginStorage;
CWFileSpec projectFile;
CWFileSpec outputFileDirectory;
SInt32 shellSignature;
SInt32 pluginType;
SInt32 numFiles;
SInt32 numOverlayGroups;
OSErr callbackOSError;
OSErr pluginOSError;
CWIDEInfo *shellInfo;
IDEAccessPathList *accessPathList;
SInt32 dontEatEvents;
CWFileSpec *targetDataDirectorySpec;
SInt32 reserved[17];
CW_BasePluginCallbacks *callbacks;
};
struct CWCompilerLinkerContext : CWPluginPrivateContext {
CWCompilerLinkerContext();
~CWCompilerLinkerContext();
SInt32 whichfile;
CWFileSpec sourcefile;
const char *sourcetext;
SInt32 sourcetextsize;
Boolean precompile;
Boolean autoprecompile;
Boolean preprocess;
Boolean cachingPCH;
Boolean debuginfo;
SInt16 fileID;
CWBrowseOptions browseoptions;
Boolean recordbrowseinfo;
void *reserved;
SInt32 sequenceID;
CWCompilerLinkerContext *parentPB;
void *targetStorage;
SInt32 reservedcompiler[7];
CWMemHandle texthandle;
CWTargetInfoV7 targetinfo_V7;
CWTargetInfo *targetinfo;
const char *commandLineArgs;
CWFileSpec *workingDirectorySpec;
SInt32 numEnvironmentVariables;
CWEnvVarInfo *environmentVariables;
SInt32 workingDirectoryError;
SInt32 reservedlinker[2];
CWCompilerLinkerCallbacks *callbacks;
};
struct CWParserContext : CWPluginPrivateContext {
CWParserContext();
~CWParserContext();
CWCommandLineArgs *args;
CWDataType cpu;
CWDataType os;
const char *build_date;
const char *build_time;
const ToolVersionInfo *build_tool;
int numPlugins;
CLPluginInfo *plugins;
int numPanels;
const char **panelNames;
CWCommandLineArgs *plugin_args;
CWCommandLineArgs *panel_args;
CWParserCallbacks *callbacks;
};
struct Plugin;
typedef struct shellContextType {
Plugin *plugin;
Boolean userAccessPathsChanged;
Boolean systemAccessPathsChanged;
} shellContextType;
#ifdef __MWERKS__
#pragma options align=reset
#endif