Angus Leeming <[EMAIL PROTECTED]> writes:

| Lars Gullik Bjønnes wrote:
>
>> Angus Leeming <[EMAIL PROTECTED]> writes:
>> 
>> | Andre Poenitz wrote:
>>>> Have you considered changing that params2string interface to
>> | ...
>>>> (or when we are at it even
>>>> 
>>>> ostream & InsetBranchMailer::operator<<(ostream & os,
>>>> InsetBranchParams const &)
>>>> {
>>>> os << name << ' ';
>>>> os << name_ << ' ';
>>>> params.write(os);
>>>> // Add all_branches parameter to data:
>>>> os << params.branchlist.allBranches() << "\n";
>>>> return os;
>>>> }
>>>> 
>>>> one concept less to grasp and even better re-usable...)
>>>
>> | Let's think about this a little more, and let's illustrate this
>> | with examples of the code in use in the core.
>> 
>> Do we really have to make this even more complex?
>
| We were just discussing alternatives. This one got ditched quite 
| quickly. If you were to look at the mailer code now, you'll find it 
| is becoming quite straightforward. Have a look at the end of 
| insetcommand.C.
>
>> Notes:
>> 
>>         - boost::any is almost an perfect fit here
>
| No it's not. If the data is passed as a string then we allow the 
| outside world to receive the data, modify it and post it back with no 
| addditional effort to us.

this is the exception (external data), for all internal stuff
serialization _and_ the mailer stuff are really overkill.

| I'm imagining a scheme where pybliographer could register as a 
| "replacement citation dialog". Thereafter, clicking on the inset 
| would send the data to Dialogs::show("citation", data, inset) as now, 
| but the data would be posted out through the LyX server (or socket). 
| pybliographer would modify this data and post it back.

And I am not so sure that this is a good idea at all... we shouldn't
expose external structures like this, and if/when we recieve them from
external we _must_ do validation anyway....

in-lyx we do not have to do validation of data since we know that we
made them in the first place.

>>         - serilizatoin is added to boost soon
>
| This is certainly a possiblility, but we already have read and write 
| functions for all insets / most parameter structs. By using those, we 
| have a self-documented format that is guaranteed to be up-to-date.
>
>>         - probably could we even use xtl (oh well)
>
| André argued at the time that this was overkill for what we needed. 
| The read/write methods are what we need.

Which are really just doing just the same ... call it
poor-man-serialization if you want.

-- 
        Lgb

Reply via email to