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;
}
Exemple #2
0
		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;
		}
Exemple #3
0
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);
}
Exemple #4
0
		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);
		}
Exemple #5
0
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());
}
Exemple #6
0
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;
}
Exemple #8
0
SSHTables::SSHTables(string packagePath, const vector<Table>& tables) : packagePath(packagePath), tables(tables), package(GetPackage()){
}
Exemple #9
0
		Package *GetPackage(std::initializer_list<const wchar_t *> ilPath) noexcept {
			return GetPackage(ilPath.begin(), ilPath.end());
		}
Exemple #10
0
bool ManifestItem::CanLoadDocument() const
{
	return GetPackage()->GetContainer()->FileExistsAtPath(AbsolutePath());
}
Exemple #11
0
string ManifestItem::AbsolutePath() const
{
    return _Str(GetPackage()->BasePath(), BaseHref());
}