Inserting a value into a XComponentContext

Andrew Pitonyak andrew at pitonyak.org
Sun Nov 30 16:31:06 PST 2014


No stress on the number of mails.

I did not think that you could change a context after it was created... But I would certainly try if I had a need. I know very little about this specifically.

Chris Sherlock <chris.sherlock79 at gmail.com> wrote:

>Oh, and sorry for the number of emails, but I guess I'm assuming that you can add a new property key at any point by insertByName()... 
>
>
>Thanks in advance, UNO is a little tricky at this level. At least that's what I find... from what I can tell, it really comes down to the cppuhelper::ComponentContext class which implements the XNameContainer interface. *Please* correct me if I'm wrong :-)
>
>
>Chris
>
>
>On Mon, Dec 1, 2014 at 10:29 AM, Chris Sherlock <chris.sherlock79 at gmail.com> wrote:
>
>So what about the following approach:
>
>
>Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
>::cppu::ContextEntry_Init aContextInfo[] =
>{
>    ::cppu::ContextEntry_Init("testkey", uno::Any() ),
>}
>
>xNewContext = ::cppu::createComponentContext(aContextInfo, sizeof(aContextInfo) / sizeof (aHandlerContextInfo[0]), xContext);
>
>
>Then to get access to the container, I use something like this:
>
>
>Reference< container::XNameContainer > xNameContainer( xContext, UNO_QUERY );
>
>
>Is this the right approach? Will the delegate ComponentContext work?
>
>
>Chris
>
>
>
>On Mon, Dec 1, 2014 at 12:25 AM, Andrew Pitonyak <andrew at pitonyak.org> wrote:
>
>Guessing from memory and not east for me to verify at the Moment, but I thought that the context was read only. I think that of you want to add values you need to create a new one with the desired named value pairs.
>
>Are you able to inspect an object to see of it supports setting values... 
>
>I have done very little in this area and don't remember...
>
>
>
>Chris Sherlock <chris.sherlock79 at gmail.com> wrote:
>
>Hi all, 
>
>
>How do you insert a value to be retrieved later into an XComponentContext reference?
>
>
>I see there is a XNameContainer, which is created by comphelper::NameContainer_createInstance(::cppu::UnoType<sal_Int32>::get()) or whatever value you want. From here you then do insertByName. 
>
>
>However, how do you then insert this into the component context?
>
>
>Chris
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20141130/55f282fd/attachment.html>


More information about the LibreOffice mailing list