#define sCHC_SS_PROJECT "$/base/maps" // note no slash on the end!
externCStringg_cstrSourceSafeINI;// these default to sensible values for Trek, but can be changed
externCStringg_cstrSourceSafeProject;//
externBOOLg_bUseSourceSafe;// only external for prefs setting, use "SS_FunctionsAvailable()" for query
// Usage notes:
//
// By choice, you should check "SS_FunctionsAvailable()" yourself before calling any of the functions below.
// They do check them internally (so no SS code is called if you've turned it off because of a bad connection etc)
// but since these all return bools it can be misleading as to whether (eg) SS code is disabled/missing, or the answer
// from the call was false. Likewise you should check if the item is under sourcesafe control before calling the other
// operations, else you'll get an error box if you try and check out an item not in the SS database, rather than it
// quietly ignoring the request if you make it part of you fopen() handler. Hokay?
//
// Note that because I don't have any flag documentation I don't allow multiple checkouts (because I don't know how to...)
// but you should do one of the function calls below to check that no-one else has the item checked out before attempting
// to check it out yourself, otherwise you'll just get an error box saying that he checkout failed, which is far less
// helpful.
//
// Likewise, if you do a check-in where nothing's changed, it won't show up in the history list because I don't know how
// to set the flag to say always-show-new-checkin-even-no-differences.
//
boolSS_FunctionsAvailable(void);
boolSS_SetupOk(void);// similar to above, but doesn't care if functions are user-disabled (note that all other functions DO care, so this is only useful in rare places)
boolSS_IsUnderSourceControl(LPCSTRpsPathedFilename);// call this before deciding whether or not to call any others
boolSS_Add(LPCSTRpsPathedFilename);
boolSS_CheckIn(LPCSTRpsPathedFilename);
boolSS_CheckOut(LPCSTRpsPathedFilename);
boolSS_UndoCheckOut(LPCSTRpsPathedFilename);
boolSS_IsCheckedOut(LPCSTRpsPathedFilename);
boolSS_IsCheckedOutByMe(LPCSTRpsPathedFilename);
boolSS_ListVersions(LPCSTRpsPathedFilename,CString&strOutput);// do whatever you want with the string