1f1bc04d7SKatayama Hirofumi MZ /*
2f1bc04d7SKatayama Hirofumi MZ  * PROJECT:     ReactOS Zip Shell Extension
3f1bc04d7SKatayama Hirofumi MZ  * LICENSE:     GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4f1bc04d7SKatayama Hirofumi MZ  * PURPOSE:     Create a zip file
5f1bc04d7SKatayama Hirofumi MZ  * COPYRIGHT:   Copyright 2019 Mark Jansen (mark.jansen@reactos.org)
6f1bc04d7SKatayama Hirofumi MZ  *              Copyright 2019 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
7f1bc04d7SKatayama Hirofumi MZ  */
8f1bc04d7SKatayama Hirofumi MZ #ifndef CZIPCREATOR_HPP_
9f1bc04d7SKatayama Hirofumi MZ #define CZIPCREATOR_HPP_
10f1bc04d7SKatayama Hirofumi MZ 
11f1bc04d7SKatayama Hirofumi MZ struct CZipCreatorImpl;
12f1bc04d7SKatayama Hirofumi MZ 
13f1bc04d7SKatayama Hirofumi MZ class CZipCreator
14f1bc04d7SKatayama Hirofumi MZ {
15f1bc04d7SKatayama Hirofumi MZ public:
16f1bc04d7SKatayama Hirofumi MZ     struct CZipCreatorImpl *m_pimpl;
17f1bc04d7SKatayama Hirofumi MZ 
18f1bc04d7SKatayama Hirofumi MZ     virtual ~CZipCreator();
19f1bc04d7SKatayama Hirofumi MZ 
DoCreate()20f1bc04d7SKatayama Hirofumi MZ     static CZipCreator* DoCreate()
21f1bc04d7SKatayama Hirofumi MZ     {
22f1bc04d7SKatayama Hirofumi MZ         return new CZipCreator();
23f1bc04d7SKatayama Hirofumi MZ     }
24f1bc04d7SKatayama Hirofumi MZ 
25*bf2cec18SKatayama Hirofumi MZ     virtual void DoAddItem(PCWSTR pszFile);
26f1bc04d7SKatayama Hirofumi MZ     static BOOL runThread(CZipCreator* pCreator);
27f1bc04d7SKatayama Hirofumi MZ 
28f1bc04d7SKatayama Hirofumi MZ protected:
29f1bc04d7SKatayama Hirofumi MZ     CZipCreator();
30f1bc04d7SKatayama Hirofumi MZ };
31f1bc04d7SKatayama Hirofumi MZ 
32f1bc04d7SKatayama Hirofumi MZ #endif
33