#endif
void Vt100Drv_Create(C_VT100DRV *self, HANDLE hTty); /**< コンストラクタ */
-void Vt100Drv_Delete(C_VT100DRV *self); /**< デストラクタ */
+void Vt100Drv_Delete(C_DRVOBJ *pDrvObj); /**< デストラクタ */
#ifdef __cplusplus
}
const T_DRVOBJ_METHODS Vt100Drv_Methods =
{
+ Vt100Drv_Delete,
Vt100Drv_Open,
Vt100Drv_Close,
Vt100Drv_IoControl,
--- /dev/null
+/**
+ * Hyper Operating System Application Framework
+ *
+ * @file vt100drv_create.c
+ * @brief %jp{VT100 ターミナルドライバ}
+ *
+ * Copyright (C) 2006 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "vt100drv_local.h"
+#include "system/sysapi/sysapi.h"
+
+
+/** デストラクタ */
+void Vt100Drv_Delete(C_DRVOBJ *pDrvObj)
+{
+ C_VT100DRV *self;
+
+ /* upper cast */
+ self = (C_VT100DRV *)pDrvObj;
+
+ /* 親クラスデストラクタ */
+ DrvObj_Delete(&self->DrvObj);
+}
+
+
+/* end of file */
const T_DRVOBJ_METHODS WinSockDrv_Methods =
{
+ WinSockDrv_Delete,
WinSockDrv_Open,
WinSockDrv_Close,
WinSockDrv_IoControl,
/** デストラクタ */
-void WinSockDrv_Delete(C_WINSOCKDRV *self)
+void WinSockDrv_Delete(C_DRVOBJ *pDrvObj)
{
WSACleanup();
}
#endif
void WinSockDrv_Create(C_WINSOCKDRV *self, int iPortNum, int iIntNum, int iBufSize); /**< コンストラクタ */
+void WinSockDrv_Delete(C_DRVOBJ *pDrvObj); /**< デストラクタ */
#ifdef __cplusplus
}
/* デバイスドライバオブジェクト基本クラス メソッドテーブル */
typedef struct t_drvobj_methods
{
+ void (*pfncDelete)(struct c_drvobj *self);
HANDLE (*pfncOpen)(struct c_drvobj *self, const char *pszPath, int iMode);
FILE_ERR (*pfncClose)(struct c_drvobj *self, C_FILEOBJ *pFileObj);
FILE_ERR (*pfncIoControl)(struct c_drvobj *self, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize);
--- /dev/null
+
+#include "drvobj_local.h"
+
+
+/**< デストラクタ */
+void DrvObj_Delete(C_DRVOBJ *self)
+{
+}
+
+