misc/libphysfs/lzma/CPP/7zip/UI/Common/SetProperties.cpp
changeset 13881 99b265e0d1d0
parent 13880 5f819b90d479
child 13882 b172a5d40eee
--- a/misc/libphysfs/lzma/CPP/7zip/UI/Common/SetProperties.cpp	Thu Oct 11 23:43:31 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-// SetProperties.cpp
-
-#include "StdAfx.h"
-
-#include "SetProperties.h"
-
-#include "Windows/PropVariant.h"
-#include "Common/MyString.h"
-#include "Common/StringToInt.h"
-#include "Common/MyCom.h"
-
-#include "../../Archive/IArchive.h"
-
-using namespace NWindows;
-using namespace NCOM;
-
-static void ParseNumberString(const UString &s, NCOM::CPropVariant &prop)
-{
-  const wchar_t *endPtr;
-  UInt64 result = ConvertStringToUInt64(s, &endPtr);
-  if (endPtr - (const wchar_t *)s != s.Length())
-    prop = s;
-  else if (result <= 0xFFFFFFFF)
-    prop = (UInt32)result;
-  else 
-    prop = result;
-}
-
-HRESULT SetProperties(IUnknown *unknown, const CObjectVector<CProperty> &properties)
-{
-  if (properties.IsEmpty())
-    return S_OK;
-  CMyComPtr<ISetProperties> setProperties;
-  unknown->QueryInterface(IID_ISetProperties, (void **)&setProperties);
-  if (!setProperties)
-    return S_OK;
-
-  UStringVector realNames;
-  CPropVariant *values = new CPropVariant[properties.Size()];
-  try
-  {
-    int i;
-    for(i = 0; i < properties.Size(); i++)
-    {
-      const CProperty &property = properties[i];
-      NCOM::CPropVariant propVariant;
-      if (!property.Value.IsEmpty())
-        ParseNumberString(property.Value, propVariant);
-      realNames.Add(property.Name);
-      values[i] = propVariant;
-    }
-    CRecordVector<const wchar_t *> names;
-    for(i = 0; i < realNames.Size(); i++)
-      names.Add((const wchar_t *)realNames[i]);
-    
-    RINOK(setProperties->SetProperties(&names.Front(), values, names.Size()));
-  }
-  catch(...)
-  {
-    delete []values;
-    throw;
-  }
-  delete []values;
-  return S_OK;
-}