27 using css::uno::Reference;
28 using css::uno::XInterface;
42 uno::Reference< uno::XInterface > xRef( rInterface, uno::UNO_QUERY );
44 IdMap_t::const_iterator aIter;
47 return (*aIter).first;
51 OUString
aId =
"id" + OUString::number(
mnNextId++ );
52 return (*
maEntries.emplace( aId, xRef ).first).first;
58 IdMap_t::const_iterator aIter;
62 uno::Reference< uno::XInterface > xRef( rInterface, uno::UNO_QUERY );
66 return rIdentifier != (*aIter).first;
74 maEntries.insert( IdMap_t::value_type( rIdentifier, xRef ) );
78 sal_Int32
nLength = rIdentifier.getLength();
81 if( nLength < 2 || p[0] !=
'i' || p[1] !=
'd' )
89 if( (*p <
'0') || (*p >
'9') )
97 sal_Int32
nId = rIdentifier.copy(2).toInt32();
107 IdMap_t::const_iterator aIter;
110 return (*aIter).first;
114 static const OUString aEmpty;
121 IdMap_t::const_iterator aIter;
124 return (*aIter).second;
128 static const Reference< XInterface > aEmpty;
135 uno::Reference< uno::XInterface > xRef( rInterface, uno::UNO_QUERY );
137 const IdMap_t::const_iterator aEnd(
maEntries.end() );
138 rIter = std::find_if(
maEntries.begin(), aEnd, [&xRef](
const IdMap_t::value_type& rItem) {
143 return rItem.second.get() == xRef.get();
146 return rIter != aEnd;
165 const OUString& rIdentifier,
166 const css::uno::Reference< css::uno::XInterface >& rInterface )
168 Reserved_t::const_iterator aIt;
181 Reserved_t::const_iterator aDummy;
186 const OUString& rIdentifier,
187 Reserved_t::const_iterator& rIter )
const
bool reserveIdentifier(const OUString &rIdentifier)
reserves an identifier for later registration.
bool findIdentifier(const OUString &rIdentifier, IdMap_t::const_iterator &rIter) const
bool findReserved(const OUString &rIdentifier) const
const css::uno::Reference< css::uno::XInterface > & getReference(const OUString &rIdentifier) const
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
const OUString & getIdentifier(const css::uno::Reference< css::uno::XInterface > &rInterface) const
bool registerReservedReference(const OUString &rIdentifier, const css::uno::Reference< css::uno::XInterface > &rInterface)
registers the given uno object with reserved identifier.
UnoInterfaceToUniqueIdentifierMapper()
bool findReference(const css::uno::Reference< css::uno::XInterface > &rInterface, IdMap_t::const_iterator &rIter) const
const OUString & registerReference(const css::uno::Reference< css::uno::XInterface > &rInterface)
returns a unique identifier for the given uno object.