static bool TestWarehouseItem(ref<CWarehouseReceipt> const& whr, ref<CWarehouseItem> const wh_item) { if (wh_item->GetWarehouseReceipt() != whr) { text_out("item has a wrong warehouse receipt or is missing"); return false; } const auto whr_item_list = whr->GetItems(); const auto whr_item_list_member = wh_item->GetIndexMember(WarehouseItemIndexMemberEnum::WarehouseReceiptList); if (whr_item_list_member->owner != whr_item_list) { text_out("item has a wrong warehouse item list member or is missing"); return false; } const auto item_definition = wh_item->GetItemDefinition(); if (wh_item->GetPackage() != item_definition->GetPackage()) { text_out("item package is different to its item definition package"); return false; } return true; }
Package *GetPackage(PATH_SEGMENT_ITER iterSegBegin, PATH_SEGMENT_ITER iterSegEnd) noexcept { auto ppkgCur = this; for(auto iter = iterSegBegin; iter != iterSegEnd; ++iter){ if(!(ppkgCur = ppkgCur->GetPackage(*iter))){ return nullptr; } } return ppkgCur; }
EncryptionInfoPtr ManifestItem::GetEncryptionInfo() const { ContainerPtr container = GetPackage()->GetContainer(); string abs = AbsolutePath(); if (abs.at(0) == '/') { abs = abs.substr(1, abs.length()-1); } return container->EncryptionInfoForPath(abs); }
UTF16String *GetValue(PATH_SEGMENT_ITER iterSegBegin, PATH_SEGMENT_ITER iterSegEnd) noexcept { if(iterSegBegin == iterSegEnd){ return nullptr; } auto iterName = iterSegEnd; --iterName; const auto ppkgParent = GetPackage(iterSegBegin, iterName); if(ppkgParent){ return nullptr; } return ppkgParent->GetValue(*iterName); }
unique_ptr<AsyncByteStream> ManifestItem::AsyncReader() const { auto package = GetPackage(); if ( !package ) return nullptr; auto container = package->GetContainer(); if ( !container ) return nullptr; return container->GetArchive()->AsyncByteStreamAtPath(AbsolutePath()); }
GAMESHOP_ITEM_DATA * GameShop::GetItem(short ItemID, int IBSCategory, int IBSIndex, int PackageID) { GAMESHOP_ITEM_DATA * lpItem = NULL; std::map<int, GAMESHOP_ITEM_DATA *>::iterator Iter; // ---- if( IBSCategory == 0 && PackageID > 0 ) { GAMESHOP_PACKAGE_DATA * Package = GetPackage(PackageID); // ---- if( Package ) { for( int i = 0; i < Package->ItemCount; i++ ) { if( Package->Item[i].ItemID == ItemID ) { lpItem = &Package->Item[i]; return lpItem; } } } } // ---- for( Iter = this->ItemList.begin(); Iter != this->ItemList.end(); Iter++ ) { lpItem = Iter->second; // ---- if( ItemID == lpItem->ItemID && IBSCategory == lpItem->IBSCategory && IBSIndex == lpItem->IBSIndex ) { break; } else { lpItem = NULL; continue; } } // ---- return lpItem; }
pgObject *edbPackageFunction::Refresh(ctlTree *browser, const wxTreeItemId item) { pgObject *packageFunction = 0; pgCollection *coll = browser->GetParentCollection(item); if (coll) { if (coll->GetConnection()->EdbMinimumVersion(8, 2)) packageFunction = packageFunctionFactory.CreateObjects(coll, 0, wxT("\n AND pronamespace=") + GetPackage()->GetOidStr() + wxT(" AND proname='") + GetName() + wxT("'")); else packageFunction = packageFunctionFactory.CreateObjects(coll, 0, wxT("\n AND packageoid=") + GetPackage()->GetOidStr() + wxT(" AND eltname='") + GetName() + wxT("'")); } return packageFunction; }
SSHTables::SSHTables(string packagePath, const vector<Table>& tables) : packagePath(packagePath), tables(tables), package(GetPackage()){ }
Package *GetPackage(std::initializer_list<const wchar_t *> ilPath) noexcept { return GetPackage(ilPath.begin(), ilPath.end()); }
bool ManifestItem::CanLoadDocument() const { return GetPackage()->GetContainer()->FileExistsAtPath(AbsolutePath()); }
string ManifestItem::AbsolutePath() const { return _Str(GetPackage()->BasePath(), BaseHref()); }