added a Free method

This commit is contained in:
Ken Martin 2002-12-11 14:16:55 -05:00
parent 3bcbca96ab
commit c3474d4257
2 changed files with 16 additions and 1 deletions

View File

@ -380,6 +380,12 @@ void * cmCreateSourceFile()
return (void *)(new cmSourceFile);
}
void cmDestroySourceFile(void *arg)
{
cmSourceFile *sf = static_cast<cmSourceFile *>(arg);
delete sf;
}
const char *cmSourceFileGetSourceName(void *arg)
{
cmSourceFile *sf = static_cast<cmSourceFile *>(arg);
@ -479,6 +485,11 @@ void cmRemoveFile(const char *name)
cmSystemTools::RemoveFile(name);
}
void cmFree(void *data)
{
free(data);
}
} // close the extern "C" scope
cmCAPI cmStaticCAPI =
@ -517,6 +528,7 @@ cmCAPI cmStaticCAPI =
cmAddSource,
cmCreateSourceFile,
cmDestroySourceFile,
cmGetSource,
cmSourceFileAddDepend,
cmSourceFileGetProperty,
@ -532,5 +544,6 @@ cmCAPI cmStaticCAPI =
cmGetFilenameWithoutExtension,
cmGetFilenamePath,
cmRemoveFile,
cmFree,
};

View File

@ -113,6 +113,7 @@ typedef struct
=========================================================================*/
void *(*AddSource) (void *mf, void *sf);
void *(*CreateSourceFile) ();
void (*DestroySourceFile) (void *sf);
void *(*GetSource) (void *mf, const char* sourceName);
void (*SourceFileAddDepend) (void *sf, const char *depend);
const char *(*SourceFileGetProperty) (void *sf, const char *prop);
@ -132,13 +133,14 @@ typedef struct
/*=========================================================================
The following methods are from cmSystemTools.h see that file for specific
documentaiton on each method.
documentation on each method.
=========================================================================*/
char *(*Capitalized)(const char *);
void (*CopyFileIfDifferent)(const char *f1, const char *f2);
char *(*GetFilenameWithoutExtension)(const char *);
char *(*GetFilenamePath)(const char *);
void (*RemoveFile)(const char *f1);
void (*Free)(void *);
/* this is the end of the C function stub API structure */
} cmCAPI;