misc/libphysfs/lzma/CPP/7zip/UI/Common/LoadCodecs.h
branchui-scaling
changeset 15283 c4fd2813b127
parent 13390 0135e64c6c66
parent 15279 7ab5cf405686
child 15663 d92eeb468dad
--- a/misc/libphysfs/lzma/CPP/7zip/UI/Common/LoadCodecs.h	Wed May 16 18:22:28 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-// LoadCodecs.h
-
-#ifndef __LOADCODECS_H
-#define __LOADCODECS_H
-
-#include "../../../Common/Types.h"
-#include "../../../Common/MyCom.h"
-#include "../../../Common/MyString.h"
-#include "../../../Common/Buffer.h"
-#include "../../ICoder.h"
-
-#ifdef EXTERNAL_CODECS
-#include "../../../Windows/DLL.h"
-#endif
-
-struct CDllCodecInfo
-{
-  CLSID Encoder;
-  CLSID Decoder;
-  bool EncoderIsAssigned;
-  bool DecoderIsAssigned;
-  int LibIndex;
-  UInt32 CodecIndex;
-};
-
-#include "../../Archive/IArchive.h"
-
-typedef IInArchive * (*CreateInArchiveP)();
-typedef IOutArchive * (*CreateOutArchiveP)();
-
-struct CArcExtInfo
-{
-  UString Ext;
-  UString AddExt;
-  CArcExtInfo() {}
-  CArcExtInfo(const UString &ext): Ext(ext) {}
-  CArcExtInfo(const UString &ext, const UString &addExt): Ext(ext), AddExt(addExt) {}
-};
-
-
-struct CArcInfoEx
-{
-  #ifdef EXTERNAL_CODECS
-  int LibIndex;
-  UInt32 FormatIndex;
-  CLSID ClassID;
-  #endif
-  bool UpdateEnabled;
-  CreateInArchiveP CreateInArchive;
-  CreateOutArchiveP CreateOutArchive;
-  UString Name;
-  CObjectVector<CArcExtInfo> Exts;
-  #ifndef _SFX
-  CByteBuffer StartSignature;
-  // CByteBuffer FinishSignature;
-  #ifdef NEW_FOLDER_INTERFACE
-  UStringVector AssociateExts;
-  #endif
-  #endif
-  bool KeepName;
-  UString GetMainExt() const
-  {
-    if (Exts.IsEmpty())
-      return UString();
-    return Exts[0].Ext;
-  }
-  int FindExtension(const UString &ext) const
-  {
-    for (int i = 0; i < Exts.Size(); i++)
-      if (ext.CompareNoCase(Exts[i].Ext) == 0)
-        return i;
-    return -1;
-  }
-  UString GetAllExtensions() const
-  {
-    UString s;
-    for (int i = 0; i < Exts.Size(); i++)
-    {
-      if (i > 0)
-        s += ' ';
-      s += Exts[i].Ext;
-    }
-    return s;
-  }
-
-  void AddExts(const wchar_t* ext, const wchar_t* addExt);
-
-  CArcInfoEx(): 
-    #ifdef EXTERNAL_CODECS
-    LibIndex(-1),
-    #endif
-    UpdateEnabled(false),
-    CreateInArchive(0), CreateOutArchive(0),
-    KeepName(false)
-    #ifndef _SFX
-    #endif
-  {}
-};
-
-#ifdef EXTERNAL_CODECS
-typedef UInt32 (WINAPI *GetMethodPropertyFunc)(UInt32 index, PROPID propID, PROPVARIANT *value);
-typedef UInt32 (WINAPI *CreateObjectFunc)(const GUID *clsID, const GUID *interfaceID, void **outObject);
-
-
-struct CCodecLib
-{
-  NWindows::NDLL::CLibrary Lib;
-  GetMethodPropertyFunc GetMethodProperty;
-  CreateObjectFunc CreateObject;
-  #ifdef NEW_FOLDER_INTERFACE
-  struct CIconPair
-  {
-    UString Ext;
-    UInt32 IconIndex;
-  };
-  CSysString Path;
-  CObjectVector<CIconPair> IconPairs;
-  void LoadIcons();
-  int FindIconIndex(const UString &ext) const;
-  #endif
-  CCodecLib(): GetMethodProperty(0) {}
-};
-#endif
-
-class CCodecs:
-  #ifdef EXTERNAL_CODECS
-  public ICompressCodecsInfo,
-  #else
-  public IUnknown,
-  #endif
-  public CMyUnknownImp
-{
-public:  
-  #ifdef EXTERNAL_CODECS
-  CObjectVector<CCodecLib> Libs;
-  CObjectVector<CDllCodecInfo> Codecs;
-  HRESULT LoadCodecs();
-  HRESULT LoadFormats();
-  HRESULT LoadDll(const CSysString &path);
-  HRESULT LoadDllsFromFolder(const CSysString &folderPrefix);
-
-  HRESULT CreateArchiveHandler(const CArcInfoEx &ai, void **archive, bool outHandler) const
-  {
-    return Libs[ai.LibIndex].CreateObject(&ai.ClassID, outHandler ? &IID_IOutArchive : &IID_IInArchive, (void **)archive);
-  }
-  #endif
-
-public:
-  CObjectVector<CArcInfoEx> Formats;
-  HRESULT Load();
-  int FindFormatForArchiveName(const UString &archivePath) const;
-  int FindFormatForArchiveType(const UString &arcType) const;
-
-  MY_UNKNOWN_IMP
-
-  #ifdef EXTERNAL_CODECS
-  STDMETHOD(GetNumberOfMethods)(UINT32 *numMethods);
-  STDMETHOD(GetProperty)(UINT32 index, PROPID propID, PROPVARIANT *value);
-  STDMETHOD(CreateDecoder)(UINT32 index, const GUID *interfaceID, void **coder);
-  STDMETHOD(CreateEncoder)(UINT32 index, const GUID *interfaceID, void **coder);
-  #endif
-
-  int GetCodecLibIndex(UInt32 index);
-  bool GetCodecEncoderIsAssigned(UInt32 index);
-  HRESULT GetCodecId(UInt32 index, UInt64 &id);
-  UString GetCodecName(UInt32 index);
-
-  HRESULT CreateInArchive(int formatIndex, CMyComPtr<IInArchive> &archive) const
-  { 
-    const CArcInfoEx &ai = Formats[formatIndex]; 
-    #ifdef EXTERNAL_CODECS
-    if (ai.LibIndex < 0)
-    #endif
-    {
-      archive = ai.CreateInArchive();
-      return S_OK;
-    }
-    #ifdef EXTERNAL_CODECS
-    return CreateArchiveHandler(ai, (void **)&archive, false); 
-    #endif
-  }
-  HRESULT CreateOutArchive(int formatIndex, CMyComPtr<IOutArchive> &archive) const
-  { 
-    const CArcInfoEx &ai = Formats[formatIndex]; 
-    #ifdef EXTERNAL_CODECS
-    if (ai.LibIndex < 0)
-    #endif
-    {
-      archive = ai.CreateOutArchive();
-      return S_OK;
-    }
-    #ifdef EXTERNAL_CODECS
-    return CreateArchiveHandler(ai, (void **)&archive, true); 
-    #endif
-  }
-  int FindOutFormatFromName(const UString &name) const
-  {
-    for (int i = 0; i < Formats.Size(); i++)
-    {
-      const CArcInfoEx &arc = Formats[i];
-      if (!arc.UpdateEnabled)
-        continue;
-      if (arc.Name.CompareNoCase(name) == 0)
-        return i;
-    }
-    return -1;
-  }
-
-  #ifdef EXTERNAL_CODECS
-  HRESULT CreateCoder(const UString &name, bool encode, CMyComPtr<ICompressCoder> &coder) const;
-  #endif
-
-};
-
-#endif