http://bugzilla.moblin.org/show_bug.cgi?id=5633
--- Comment #12 from yongsheng zhu <yongsheng.zhu(a)intel.com> 2009-08-31 23:40:01
---
(In reply to comment #11)
(In reply to comment #10)
> (In reply to comment #9)
> > (In reply to comment #8)
> > > fix is done.
> >
> > The fix is applied to all SyncEvolution backends, even if they don't have
> > Evolution's limitation. Can we configure this script so that it is only
active
> > when encoding a vCard for Evolution? Without having thought much about it, an
> > outgoing script which which checks for remote rule "Evolution" might
work.
> You mean by checking remote rule 'evolution', we can decide whether to
strip
> this information?
Yes, but note that this will only be set inside the MAKETEXTWITHPROFILE macro
call that SyncSource.cpp adds to get the item converted for Evolution. I'm not
entirely sure whether that'll really work. Checking the MAKETEXTWITHPROFILE
implementation in sysync/scriptcontext.cpp func_MakeTextWithProfile I see that
no scripts are called.
This means we'll have to try something else. You could set
info.m_profile in the Evolution contact backend to something like this:
" <initscript><![CDATA[\n"
" string itemdata;\n"
" ]]></initscript>\n"
" <beforewritescript><![CDATA[\n"
" VCARD_INCOMING_SCRIPT_EVOLUTION;\n"
" itemdata = MAKETEXTWITHPROFILE(" <<
info.m_profile <<
", \"EVOLUTION\");\n"
" ]]></beforewritescript>\n"
" <afterreadscript><![CDATA[\n"
" PARSETEXTWITHPROFILE(itemdata, " <<
info.m_profile <<
", \"EVOLUTION\");\n"
" ]]></afterreadscript>\n"
" <map name='data' references='itemdata'
type='string'/>\n";
To avoid copying that whole string perhaps we should introduce an
info.m_incomingScipt and info.m_outgoingScript which are pasted into that text
if non-empty inside SyncSource.cpp?
The next solution makes sense. Could you help
review the fix for this issue?
The branch is 'origin/bug5633'.
Also info.m_outgoingScript is enabled. I have tested it. Also works.
--
Configure bugmail:
http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching someone on the CC list of the bug.