Thanks a lot Adam, It worked.

Thanks,
Sachin

On Thu, Nov 17, 2016 at 12:36 AM, Adam Cozzette <[email protected]>
wrote:

> I think the MutableExtension() method is the way to go; that will return a
> pointer to your extension field, so in this case a pointer
> to DNSServerNames. Something like this should work:
>
> i->MutableExtension(dnsServerNames)->add_dnsservers("aaa");
>
> Or you could also do it like this:
>
> DNSServerNames temp;
> temp.add_dnsservers("aaa");
> *i->MutableExtension(dnsServerNames) = temp;
>
> On Wed, Nov 16, 2016 at 9:47 AM, <[email protected]> wrote:
>
>> Hi Adam,
>> Please find the below snippet and the associated error:
>> //Code
>>
>>                 IpInterfaceAddress *i = dynamic_cast<IpInterfaceAddress*>
>> (x); //x is of type google::protobuf::Message *
>> if(i != NULL)
>> {
>> DNSServerNames temp;
>> temp.add_dnsservers("aaa");
>> i->MutableExtension.SetExtension(a);
>>                 }
>>
>> //Error:
>>  error C2228: left of '.SetExtension' must have class/struct/union
>>
>> And tried following as well
>> //code:
>>                 IpInterfaceAddress *i = dynamic_cast<IpInterfaceAddress*>
>> (x); //x is of type google::protobuf::Message *
>> if(i != NULL)
>> {
>>                             i->AddExtension(dnsServerNames,(char*)value
>> );
>>                 }
>>
>> //error
>> error C2664: 'void IpInterfaces::IpInterfaceAddre
>> ss::AddExtension<google::protobuf::internal::MessageTypeTraits<Type>,11,false>(const
>> google::protobuf::internal::ExtensionIdentifier<ExtendeeType
>> ,TypeTraitsType,field_type,is_packed> &,const
>> IpInterfaces::DNSServerNames &)' : cannot convert parameter 2 from 'char *'
>> to 'const IpInterfaces::DNSServerNames &'
>>           with
>>           [
>>               Type=IpInterfaces::DNSServerNames,
>>               ExtendeeType=IpInterfaces::IpInterfaceAddress,
>>               TypeTraitsType=google::protobu
>> f::internal::MessageTypeTraits<IpInterfaces::DNSServerNames>,
>>               field_type=11,
>>               is_packed=false
>>           ]
>>           Reason: cannot convert from 'char *' to 'const
>> IpInterfaces::DNSServerNames'
>>           No constructor could take the source type, or constructor
>> overload resolution was ambiguous
>>
>> Regards,
>> Sachin
>>
>> On Wednesday, November 16, 2016 at 10:09:03 PM UTC+5:30, Adam Cozzette
>> wrote:
>>>
>>> That should work; you should be able to use repeated fields inside your
>>> extension submessage field. I think you might just be running into a syntax
>>> issue; could you post the code snippet and the error you're getting?
>>>
>>> On Wed, Nov 16, 2016 at 4:08 AM, <[email protected]> wrote:
>>>
>>>> import "IpInterfaces.proto";
>>>> package IpInterfaces;
>>>>
>>>> message DNSServerNames{
>>>> *repeated* string dnsServers=11;//limited only to optional?
>>>> }
>>>> extend IpInterfaceAddress{
>>>> optional DNSServerNames dnsServerNames=1000001;
>>>> }
>>>>
>>>> Unable to perform SetExtension(dnsServers,value).
>>>> Is this supported or is it limited only to OPTIONAL?
>>>>
>>>> Thanks in Advance
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Protocol Buffers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/protobuf.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "Protocol Buffers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/protobuf.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to