void Delete(bool promoteChildren) { if (promoteChildren) { CComPtr<IGraphItemIterator> itr = m_graph_sorteditems.GetItemIterator(); while(itr->IsValidItem()) { m_parent->AttachItem(itr->Get()); DetachItem(itr->Get()); itr = m_graph_sorteditems.GetItemIterator(); } } AddRef(); m_graph.m_subgraphCache.Clear(GetCacheID()); ATLASSERT(!m_graph.m_subgraphCache.Exists(GetCacheID())); m_parent->RemoveChild(this); m_graph_propertyunknown.clear(); m_graph_internalunknown.clear(); m_parent->Signal(GRAPHNOTIFICATION_SUBGRAPHREMOVED); Release(); // Release frees m_parent and must be called last }
CString GetCacheMutexName() { return TSVN_CACHE_MUTEX_NAME + GetCacheID(); }
CString GetCacheCommandPipeName() { return TSVN_CACHE_COMMANDPIPE_NAME + GetCacheID(); }
CString GetCachePipeName() { return TSVN_CACHE_PIPE_NAME + GetCacheID(); }