Esempio n. 1
0
void
UsdMayaAdaptor::UnapplySchemaByName(
    const TfToken& schemaName,
    MDGModifier& modifier)
{
    if (!*this) {
        TF_CODING_ERROR("Adaptor is not valid");
        return;
    }

    // Remove from schema list.
    TfTokenVector currentSchemas = GetAppliedSchemas();
    currentSchemas.erase(
            std::remove(
                currentSchemas.begin(), currentSchemas.end(), schemaName),
            currentSchemas.end());
    if (currentSchemas.empty()) {
        ClearMetadata(UsdTokens->apiSchemas, modifier);
    }
    else {
        SetMetadata(
                UsdTokens->apiSchemas,
                _GetListOpForTokenVector(currentSchemas),
                modifier);
    }
}
/* Methods */
void _PLMTPC_Destroy(PlayListManager manager)
{
	PlayListManager_PC state = (PlayListManager_PC)manager->InternalState;
	if(state != NULL)
	{
		sem_wait(&state->LockObject);
		sem_destroy(&state->LockObject);

		String_Destroy(state->UDN);
		String_Destroy(state->ServiceID);
		String_Destroy(state->ContainerID);
		String_Destroy(state->FirstItemID);
		String_Destroy(state->SortArgs);

		ClearMetadata(state);

		free(state);
	}
	if(manager->TrackURI != NULL)
	{
		free(manager->TrackURI);
	}
	if(manager->TrackMetaData != NULL)
	{
		CDS_ObjRef_Release(manager->TrackMetaData);
	}
	sem_destroy(&manager->LockObject);
	if(manager->ShuffleArray != NULL)
	{
		BitArray_Destroy(manager->ShuffleArray);
	}

	free(manager);
}
void _Callback2(struct UPnPService *sender, int ErrorCode, void *user,
			    char* Result, unsigned int NumberReturned, 
			    unsigned int TotalMatches, unsigned int UpdateID)
{
	PlayListManager_PC state = (PlayListManager_PC)user;
	struct ILibXMLNode* root = NULL;
	int count = (int)NumberReturned;

	state->Error = -ErrorCode;
	if(ErrorCode != 0)
	{
		sem_post(&state->LockObject);
		return;
	}

	ClearMetadata(state);

	if((int)TotalMatches != state->Parent->TrackCount)
	{
		state->Parent->TrackCount = (int)TotalMatches;
		BitArray_ChangeSize(state->Parent->ShuffleArray, state->Parent->TrackCount);

		if(state->Parent->OnTrackCountChanged != NULL)
		{
			state->Parent->OnTrackCountChanged(state->Parent);
		}
	}

	root = ILibParseXML(Result, 0, (int)strlen(Result));
	if(root != NULL)
	{
		BOOL failure = FALSE;
		if(ILibProcessXMLNodeList(root) == 0)
		{
			int i = 0;
			struct ILibXMLNode* item = root->Next;
            ILibXML_BuildNamespaceLookupTable(root);
			while(item != NULL && i < count)
			{
				struct ILibXMLAttribute* attrs = ILibGetXMLAttributes(item);
				if(attrs != NULL)
				{
					state->Objects[i] = CDS_DeserializeDidlToObject(item, attrs, 1, Result, Result + strlen(Result));
					ILibDestructXMLAttributeList(attrs);
				}
				else
				{
					failure = TRUE;
					state->Objects[i] = NULL;
				}
				i++;
				item = item->Peer;
			}
		}

		ILibDestructXMLNodeList(root);

		if(failure == TRUE)
		{
			int i;
			state->Count = 0;
			for(i = 0; i < count; i++)
			{
				if(state->Objects[i] != NULL)
				{
					CDS_ObjRef_Release(state->Objects[i]);
					state->Objects[i] = NULL;
				}
			}
			state->Error = 1;
		}

		state->Count = count;
	}
	else
	{
		state->Error = 2;
	}

	sem_post(&state->LockObject);
}
Esempio n. 4
0
bool
UsdProperty::ClearDisplayGroup() const
{
    return ClearMetadata(SdfFieldKeys->DisplayGroup);
}
Esempio n. 5
0
bool
UsdProperty::ClearDisplayName() const
{
    return ClearMetadata(SdfFieldKeys->DisplayName);
}
Esempio n. 6
0
File: prim.cpp Progetto: lvxejay/USD
bool
UsdPrim::ClearPayload() const
{
    return ClearMetadata(SdfFieldKeys->Payload);
}
Esempio n. 7
0
void CTag_Mp4::Release()
{
    ClearMetadata();
    m_bEnable = FALSE;
}
Esempio n. 8
0
void
UsdMayaAdaptor::ClearMetadata(const TfToken& key)
{
    MDGModifier modifier;
    ClearMetadata(key, modifier);
}