ACAPI_Register_FileType
I/O 타입 애드온들에 대한 파일 타입을 등록합니다.
GSErrCode ACAPI_Register_FileType (
Int32 refCon,
GSType ftype,
GSType fcreator,
const char* extname,
short iconResID,
short descStrResID,
short descStrResItemID,
API_IOMethod methodFlags
);
파라미터
- refCon
- [in] 애드온 안에서 이 파일 타입을 식별하는 임의의 숫자입니다.
- ftype
- [in] Macintosh 파일 타입입니다. (예. 'TEXT')
- fcreator
- [in] Macintosh에서의 작성자입니다. (예. ArchiCAD에서 'GSAC')
- extname
- [in] Windows에서 사용하는 확장자입니다. (예. "txt")
- iconResID
- [in] 선택적인 아이콘 리소스 ID입니다. 이 아이콘은 Macintosh의 Open/Save 다이얼로그들에서 나타납니다.
- descStrResID
- [in] 파일 타입의 설명을 포함하는 리소스의 리소스 ID입니다.
- descStrResItemID
- [in] 파일 타입의 설명을 포함하는 항목의 리소스 안에 있는 항목 ID 또는 MIME 타입을 지정할 때에는 0입니다. (설명을 보십시오)
- methodFlags
- [in] 이 파일 타입이 추가되는 Open/Save 다이얼로그들을 설명하는 flag들입니다. (설명을 보십시오)
리턴 값
NoError- 함수가 성공적으로 완료되었습니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 애드온의 RegisterInterface 루틴으로부터 호출되어야 합니다. 당신은 동일한 애드온으로부터 1개보다 더 많은 파일 타입을 등록할 수 있으며 서버 애플리케이션의 서로 다른 메뉴들에서 나타나게 됩니다.
제공된 refCon 파라미터는 ACAPI_Install_FileTypeHandler 함수 안에서 동일해야 합니다.
Initialize 루틴으로부터 호출해야 합니다.
methodFlags 파라미터는 다이얼로그의 파일 타입 팝업이 포함해야 할 등록된 파일 타입을 정의합니다:
Flag 파일 다이얼로그 Open2DSupportedOpen as 2D (2D로 열기) Merge2DSupportedMerge (병합) OpenLibPartSupportedOpen Library Item (라이브러리 항목 열기) SaveAs2DSupportedSave as 2D (2D로 저장) SaveAs3DSupportedSave as 3D (3D로 저장) SaveAsFlySupportedCreate Fly-Through/Sun Study Import2DDrawingSupportedImport as Drawing (도면으로 가져오기)
API v4.2부터 당신은 파일에 대하여 MIME 타입 역시 등록할 수 있습니다.
MIME (Multipurpose Internet Mail Extension) 타입들은 특정 미디어 타입들에 대하여 공통적으로 허용되는 식별자들입니다.
MIME 타입을 지정하는 것은 파일 타입 관리자에서 파일 포맷 식별을 좀 더 정확하게 해줍니다.
만약 당신이 이 기능을 사용하기로 결정하였다면 다음 방식대로 이것을 수행할 수 있습니다:
- GRC 파일에서 파일 포맷을 설명하는 문자열 리소스는 반드시 2개의 항목들을 포함해야 합니다:
- 파일 포맷의 서술적 이름 (예. "DWF File")
- 할당된 MIME 타입 (예. "model/vnd.dwf")
ACAPI_Register_FileType함수의descStrResItemID파라미터에는 반드시 0을 전달해야 합니다.
예제
localizable GRC 파일 내부:
'STR#' 32500 "File Type descriptions" {
/* [ 1] */ "DWF File"
/* [ 2] */ "model/vnd.dwf"
}
RegisterInterface 함수 내부:
//------------------------------------------------------
// 인터페이스 정의
//------------------------------------------------------
GSErrCode __ACENV_CALL RegisterInterface (void)
{
GSErrCode err;
err = ACAPI_Register_FileType (1, 'GSAC', ' DWF', "dwf", 0, 32500, 0,
SaveAs2DSupported + Open2DSupported + Merge2DSupported + Import2DDrawingSupported);
return err;
} // RegisterInterface
요구사항
- 버전: API 4.1 또는 이후
- 헤더: ACAPinc.h