Exemple #1
0
EntnodeFile::EntnodeFile(const char* /* newfullpath */, const char* newuser, const char* newvn,
                         const char* newts, const char* newoptions, const char* newtag,
                         const char* newdate, const char* newts_conflict, bool renamed,
                         const std::string& newbugno)
   : EntnodeData(ENT_FILE)
{
   if (newuser && newuser[0])
      user = newuser;
   if (newvn && newvn[0])
      vn = newvn;
   if (newts && newts[0])
      ts = newts;
   if (newoptions && newoptions[0])
      option = newoptions;
   if (newtag && newtag[0])
      tag = newtag;
   if (newdate && newdate[0])
      date = newdate;
   if (newts_conflict && newts_conflict[0])
      ts_conflict = newts_conflict;
   bugnumber = newbugno;

   if (newvn && newvn[0] == '-')
      SetRemoved(true);

   SetRenamed(renamed);
}
Exemple #2
0
EntnodeDir::EntnodeDir(const char* newfullpath, const char* newuser, const char* newvn,
                       const char* newts, const char* newoptions, const char* newtag,
                       const char* newdate, const char* newts_conflict) : EntnodeData(ENT_SUBDIR)
{
   if (newuser && newuser[0])
      user = newuser;

   if (newvn && newvn[0] == '-')
      SetRemoved(true);

   tagnode = new Tagnode(newfullpath, user.c_str());
}
bool InventoryReference::RemoveFromContainer()
{
	if (Validate() && m_tempRef && m_containerRef) {
		if (m_data.xData && m_data.xData->IsWorn()) {
			QueueAction(new DeferredRemoveAction(m_data));
			return true;
		}
		SetRemoved();
		if (m_data.xData)
			return m_data.entry->Remove(m_data.xData, true);
		else
		{
			ExtraContainerChanges* xcc = (ExtraContainerChanges*)m_containerRef->extraDataList.GetByType(0x015);
			return xcc->Remove(m_data.type);
		}
	}
	return false;
}
void ServiceListeners::RemoveServiceListener(const std::shared_ptr<BundleContextPrivate>& context, ListenerTokenId tokenId,
                                             const ServiceListener& listener, void* data)
{
  ServiceListenerEntry sle;
  {
    auto l = this->Lock(); US_UNUSED(l);
    std::function<bool(const ServiceListenerEntry&)> entryExists;
    if (tokenId)
    {
      assert(!listener);
      assert(data == nullptr);
      entryExists = [&context, &tokenId](const ServiceListenerEntry& entry) -> bool
      {
        return entry.Contains(context, tokenId);
      };
    }
    else
    {
      entryExists = [&context, &listener, &data](const ServiceListenerEntry& entry) -> bool
      {
        return entry.Contains(context, listener, data);
      };
    }

    auto it = std::find_if(serviceSet.begin(), serviceSet.end(), entryExists);
    if (it != serviceSet.end())
    {
      sle = *it;
      it->SetRemoved(true);
      RemoveFromCache_unlocked(*it);
      serviceSet.erase(it);
    }
  }
  if (!sle.IsNull())
  {
    coreCtx->serviceHooks.HandleServiceListenerUnreg(sle);
  }
}