| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /************************************************************************/
- /* Copyright (C), 2016-2020, [Jeff], 保留所有权利;
- /* 模 块 名:;
- /* 描 述:;
- /*
- /* 版 本:[V];
- /* 作 者:[Jeff];
- /* 日 期:[3/21/2018];
- /*
- /*
- /* 注 意:;
- /*
- /* 修改记录:[Jeff];
- /* 修改日期:;
- /* 修改版本:;
- /* 修改内容:;
- /************************************************************************/
- #ifndef __DISC_ITEM_20151222__
- #define __DISC_ITEM_20151222__
- #pragma once
- #include "NeroAPIGlue.h"
- // 注意:
- // 同一个文件的NERO_ISO_ITEM,可以在Nero光盘中不同目录中使用;
- // 在相同的Sibling链中,没有相同的NERO_ISO_IMTE::longFileName/NERO_ISO_ITEM::fileName 或 NERO_ISO_ITEM::longSourceFilePath/NERO_ISO_ITEM::SoucreFilePath;
- // NERO_ISO_ITEM形成的树,只能从上往下查找,不能从下往上查找。
- // 如果一个文件目录 或 文件,已存在了,再次刻录该目录或文件时,会自动跳过。
- // 注意,Nero SDK 使用的是多字节字符集开发;
- class CDiscItem
- {
- public:
- CDiscItem(void);
- ~CDiscItem(void);
- // 光盘树根元素;
- NERO_ISO_ITEM* m_pVirtualItem;
- public:
- NERO_ISO_ITEM* InitVituralItem();
- NERO_ISO_ITEM* GetHeadItem();
- NERO_ISO_ITEM* GetVirtualItem();
- NERO_ISO_ITEM* AddSibling2RootItem( IN NERO_ISO_ITEM* pRootItem );
- NERO_ISO_ITEM* AddSibling2RootItem( IN TString strRootName, IN BOOL bIsDirectory );
- NERO_ISO_ITEM* AddItem2SiblingItem( IN NERO_ISO_ITEM* pSiblingItem, IN NERO_ISO_ITEM* pNewItem);
- NERO_ISO_ITEM* AddItem2Path( IN TString strDiscPath, IN NERO_ISO_ITEM* pNewItem);
- NERO_ISO_ITEM* AddSiblingPath(IN TString strDiscPath, IN TString strNewPath);
- NERO_ISO_ITEM* AddPath(IN TString strNewPath);
- NERO_ISO_ITEM* AddPath2Path(IN TString strDiscPath, IN TString strNewPath);
- NERO_ISO_ITEM* AddPath2Path(IN NERO_ISO_ITEM* pPathItem, IN TString strNewPath );
- NERO_ISO_ITEM* AddFile2Path(IN TString strDiscPath, IN TString strFileName);
- NERO_ISO_ITEM* AddFile2Path(IN NERO_ISO_ITEM* pPathItem, IN TString strFileName);
- NERO_ISO_ITEM* AddFile2SiblingItem(IN NERO_ISO_ITEM* pSiblingItem, IN TString strFileName);
- // 按顺序查找;
- NERO_ISO_ITEM* FindPathItem( IN TString strDiscPath );
- NERO_ISO_ITEM* FindPathInSibling( IN NERO_ISO_ITEM* pSiblingHeadItem, IN TString& strDiscPath );
- NERO_ISO_ITEM* FindPathItemEx( IN TString strDiscPath );
- NERO_ISO_ITEM* FindPathInSiblingEx( IN NERO_ISO_ITEM* pSiblingHeadItem, IN TString& strDiscPath );
- NERO_ISO_ITEM* FindLastItemInSibling( IN NERO_ISO_ITEM* pSiblingHeadItem );
-
- void DeleteIsoItemTree(NERO_ISO_ITEM *pItem);
- void RemoveAllItem();
- };
- #endif
|