62 lines
2.4 KiB
C
62 lines
2.4 KiB
C
|
// bscext.h
|
||
|
// Extension for the bsc interface
|
||
|
#ifndef __BSCEXT_H__
|
||
|
#define __BSCEXT_H__
|
||
|
|
||
|
#include <bsc.h>
|
||
|
|
||
|
/*
|
||
|
enum LineContext
|
||
|
{
|
||
|
less,
|
||
|
equal,
|
||
|
greater
|
||
|
};
|
||
|
*/
|
||
|
|
||
|
// NCB language attributes:
|
||
|
#define NCB_LANGUAGE_ALL 0xff
|
||
|
#define NCB_LANGUAGE_CPP 0x01
|
||
|
#define NCB_LANGUAGE_JAVA 0x02
|
||
|
#define NCB_LANGUAGE_ODL 0x04
|
||
|
#define NCB_LANGUAGE_FORTRAN 0x08
|
||
|
#define NCB_LANGUAGE_HTML 0x10
|
||
|
|
||
|
interface BscEx : public Bsc
|
||
|
{
|
||
|
|
||
|
// right now it is still empty
|
||
|
// but pretty soon we want to have at least the following:
|
||
|
|
||
|
/*
|
||
|
virtual BOOL iinstFrLine(IMOD imod, LINE line, LineContext lc, OUT IINST *piinst) pure;
|
||
|
*/
|
||
|
virtual BOOL irefEndInfo(IREF iref, OUT SZ *pszModule, OUT LINE *piline) pure;
|
||
|
virtual BOOL idefEndInfo(IDEF idef, OUT SZ *pszModule, OUT LINE *piline) pure;
|
||
|
virtual BOOL getGlobalsFrImod (IMOD imod, MBF mbf, OUT IINST **ppiinst, OUT ULONG *pciinst) pure;
|
||
|
virtual void setLanguage (BYTE bLanguage) pure;
|
||
|
virtual void getLanguage (BYTE * pbLanguage) pure;
|
||
|
virtual BOOL isModInLang (BYTE bLanguage, IMOD imod) pure;
|
||
|
// IDL interfaces
|
||
|
virtual BOOL getIDLAttrib (IINST iinst, OUT IINST **ppiiAttr, OUT ULONG *pciinst) pure;
|
||
|
virtual BOOL getIDLAttribVal (IINST iiAttr, OUT SZ *pszValue) pure;
|
||
|
virtual BOOL isIDLAttrib (IINST iinst, SZ szAttrib, OUT IINST *piiAttr, OUT SZ *pszValue) pure;
|
||
|
virtual BOOL filterInTypeArray (IINST * piinst, ULONG ciinst, TYP type,
|
||
|
OUT IINST ** ppiinstOut, OUT ULONG * pciinstOut) pure;
|
||
|
virtual BOOL filterOutTypeArray (IINST * piinst, ULONG ciinst, TYP type,
|
||
|
OUT IINST ** ppiinstOut, OUT ULONG * pciinstOut) pure;
|
||
|
|
||
|
virtual BOOL getIDLMFCComment (IINST iinst, OUT IINST **ppiiComment, OUT ULONG * pciinst) pure;
|
||
|
virtual BOOL getIDLMFCCommentClass (IINST iiComment, OUT SZ * pszClass) pure;
|
||
|
virtual BOOL isIDLMFCComment (IINST iinst, SZ szType, OUT IINST * piiComment, OUT SZ * pszValue) pure;
|
||
|
|
||
|
// back to general interface
|
||
|
// get the line number for the declaration
|
||
|
virtual BOOL ideclInfo(IINST iinst, OUT SZ *pszModule, OUT LINE *piline) pure;
|
||
|
virtual BOOL getMapIinst (IINST iiClass, SZ szMapType, OUT IINST **ppIinst, OUT ULONG * pciinst) pure;
|
||
|
|
||
|
virtual BOOL getAllArray (MBF mbf, OUT IINST ** ppiinst, OUT ULONG * pciinst) pure;
|
||
|
virtual BOOL isLangInProject (BYTE bLanguage) pure;
|
||
|
};
|
||
|
|
||
|
#endif __BSCEXT_H__
|