[Evolution-hackers] Problems with camel

Søren Hansen sh@warma.dk
Wed, 02 Mar 2005 09:26:48 +0100


--=-M70cbIyKqSd34QOssWTp
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

ons, 02 03 2005 kl. 09:38 +0800, skrev Not Zed:
> > > And that means actually subclassing it, you can't just create it and
> > > override the virtual methods manually.
> > Ok, this might be more of a GObject question, but why? I realize now
> > that I'm not *supposed* to instantiate it, but I don't understand that
> > it fails.
> It has nothing to do with GObject.  It is unclear what failed, I
> presume it just crashed because you didn't build a concrete class.

Maybe it's just me being too much of and old school C programmer, but
"abstract", "concrete", "class" and "object" are not words in my regular
C programming vocabulary. Hence, I don't expect the programming langauge
or compiler to make sure that I can't create "instances" of "objects"
considered "abstract".=20
Obviously, there's something I don't understand.. :-)
The way I see it:
* CamelSession is a struct containing some fields.
* Among others, it contains a CamelSessionClass as the first field.
* A CamelSessionClass is a struct containing some fields.
* One of these fields is a function pointer called get_password.

When I create a new object of type CamelSession, I'd expect to be able
to access the get_password field, regardless of what it says in a
comment at the top of camel-session.h. :-)

> Well, you must also remember camel is just an internal library, it has
> incomplete documentation for external use, and neither is the api
> guaranteed to be stable yet.

I know. I'm doing this any becuase I want to get to know Camel. It makes
it easier to understand the Evolution code, I think.
Also, I'm considering using camel as is, and I'm willing maintain the
glue code, so it shouldn't be too much of a problem if I can understand
Camel.

--=20
S=C3=B8ren Hansen <sh@warma.dk>

--=-M70cbIyKqSd34QOssWTp
Content-Type: application/x-pkcs7-signature; name=smime.p7s
Content-Disposition: attachment; filename=smime.p7s
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIKZDCCBS4w
ggQWoAMCAQICBD/F1UYwDQYJKoZIhvcNAQEFBQAwMTELMAkGA1UEBhMCREsxDDAKBgNVBAoTA1RE
QzEUMBIGA1UEAxMLVERDIE9DRVMgQ0EwHhcNMDQwOTIxMTUzNzU2WhcNMDYwOTIxMTYwNzU2WjB0
MQswCQYDVQQGEwJESzEpMCcGA1UEChMgSW5nZW4gb3JnYW5pc2F0b3Jpc2sgdGlsa255dG5pbmcx
OjATBgNVBAMUDFP4cmVuIEhhbnNlbjAjBgNVBAUTHFBJRDo5MjA4LTIwMDItMi05NzYxMzU3OTAz
MDMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKa8yX6dwX1fG2lFQFeJsdnL1l6gK+Yh1ORs
sGB603ClZ7gYPaWFq/JWHvyutgSozKvcU6+ZX8zeHpwV1z6Z4PGNAxjxleWK028VXi0gqKaM46yO
iyUIuvLxvXBEA/w5wdvfO3aZBvgUzeTUV1yj0hCTsk+faWIBF7W7dS9w7lERAgMBAAGjggKNMIIC
iTAOBgNVHQ8BAf8EBAMCA/gwKwYDVR0QBCQwIoAPMjAwNDA5MjExNTM3NTZagQ8yMDA2MDkyMTE2
MDc1NlowggE3BgNVHSAEggEuMIIBKjCCASYGCiqBUIEpAQEBAQEwggEWMC8GCCsGAQUFBwIBFiNo
dHRwOi8vd3d3LmNlcnRpZmlrYXQuZGsvcmVwb3NpdG9yeTCB4gYIKwYBBQUHAgIwgdUwChYDVERD
MAMCAQEagcZGb3IgYW52ZW5kZWxzZSBhZiBjZXJ0aWZpa2F0ZXQgZ+ZsZGVyIE9DRVMgdmlsa+Vy
LCBDUFMgb2cgT0NFUyBDUCwgZGVyIGthbiBoZW50ZXMgZnJhIHd3dy5jZXJ0aWZpa2F0LmRrL3Jl
cG9zaXRvcnkuIEJlbeZyaywgYXQgVERDIGVmdGVyIHZpbGvlcmVuZSBoYXIgZXQgYmVncuZuc2V0
IGFuc3ZhciBpZnQuIHByb2Zlc3Npb25lbGxlIHBhcnRlci4wFgYDVR0RBA8wDYELc2hAd2FybWEu
ZGswgZAGA1UdHwSBiDCBhTBKoEigRqREMEIxCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDAS
BgNVBAMTC1REQyBPQ0VTIENBMQ8wDQYDVQQDEwZDUkwzOTkwN6A1oDOGMWh0dHA6Ly9jcmwub2Nl
cy5jZXJ0aWZpa2F0LmRrL29jZXMvMTA2OTkyOTc5OC5jcmwwHwYDVR0jBBgwFoAUYLWF7FZkfhIZ
J2cdUBVLc647+RIwHQYDVR0OBBYEFMOPXueQvwX6721Zj2ILZpWustfFMAkGA1UdEwQCMAAwGQYJ
KoZIhvZ9B0EABAwwChsEVjcuMAMCA6gwDQYJKoZIhvcNAQEFBQADggEBAA8bx42vFnZXR4OtWO5I
+T7cf+CD4Z3yR2BNfze7Pp5HQfOZwhYLQIrdhuzY2kI7VyON2Ra+OSIpchQi1RvemFYm5Z+NvOnS
mDmSMng8JGvNz/L3+9lMoxsTAPS++MK4UQ2PUgdyNd2xkOWGd7UfmdpDEu0Iizbp0YDc+x/aDnpg
K913F3+ydpZdSAA8hFnqOAgTvm85cMIhIOXR7+ayTMVKBad7GOhKgVGb/0cfd2acjZqfa/QjEGYa
KCsdKvWwcpNNtYIf+CEtKSdGbWp55cdh/5PefglW09aCKvOR0UUQacFcXbOpurelacW/qB2Wkazn
aI+06jG/jt3y1f4RJl8wggUuMIIEFqADAgECAgQ/xdVGMA0GCSqGSIb3DQEBBQUAMDExCzAJBgNV
BAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMB4XDTA0MDkyMTE1Mzc1
NloXDTA2MDkyMTE2MDc1NlowdDELMAkGA1UEBhMCREsxKTAnBgNVBAoTIEluZ2VuIG9yZ2FuaXNh
dG9yaXNrIHRpbGtueXRuaW5nMTowEwYDVQQDFAxT+HJlbiBIYW5zZW4wIwYDVQQFExxQSUQ6OTIw
OC0yMDAyLTItOTc2MTM1NzkwMzAzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmvMl+ncF9
XxtpRUBXibHZy9ZeoCvmIdTkbLBgetNwpWe4GD2lhavyVh78rrYEqMyr3FOvmV/M3h6cFdc+meDx
jQMY8ZXlitNvFV4tIKimjOOsjoslCLry8b1wRAP8OcHb3zt2mQb4FM3k1Fdco9IQk7JPn2liARe1
u3UvcO5REQIDAQABo4ICjTCCAokwDgYDVR0PAQH/BAQDAgP4MCsGA1UdEAQkMCKADzIwMDQwOTIx
MTUzNzU2WoEPMjAwNjA5MjExNjA3NTZaMIIBNwYDVR0gBIIBLjCCASowggEmBgoqgVCBKQEBAQEB
MIIBFjAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5jZXJ0aWZpa2F0LmRrL3JlcG9zaXRvcnkwgeIG
CCsGAQUFBwICMIHVMAoWA1REQzADAgEBGoHGRm9yIGFudmVuZGVsc2UgYWYgY2VydGlmaWthdGV0
IGfmbGRlciBPQ0VTIHZpbGvlciwgQ1BTIG9nIE9DRVMgQ1AsIGRlciBrYW4gaGVudGVzIGZyYSB3
d3cuY2VydGlmaWthdC5kay9yZXBvc2l0b3J5LiBCZW3mcmssIGF0IFREQyBlZnRlciB2aWxr5XJl
bmUgaGFyIGV0IGJlZ3LmbnNldCBhbnN2YXIgaWZ0LiBwcm9mZXNzaW9uZWxsZSBwYXJ0ZXIuMBYG
A1UdEQQPMA2BC3NoQHdhcm1hLmRrMIGQBgNVHR8EgYgwgYUwSqBIoEakRDBCMQswCQYDVQQGEwJE
SzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTEPMA0GA1UEAxMGQ1JMMzk5MDeg
NaAzhjFodHRwOi8vY3JsLm9jZXMuY2VydGlmaWthdC5kay9vY2VzLzEwNjk5Mjk3OTguY3JsMB8G
A1UdIwQYMBaAFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GA1UdDgQWBBTDj17nkL8F+u9tWY9iC2aV
rrLXxTAJBgNVHRMEAjAAMBkGCSqGSIb2fQdBAAQMMAobBFY3LjADAgOoMA0GCSqGSIb3DQEBBQUA
A4IBAQAPG8eNrxZ2V0eDrVjuSPk+3H/gg+Gd8kdgTX83uz6eR0HzmcIWC0CK3Ybs2NpCO1cjjdkW
vjkiKXIUItUb3phWJuWfjbzp0pg5kjJ4PCRrzc/y9/vZTKMbEwD0vvjCuFENj1IHcjXdsZDlhne1
H5naQxLtCIs26dGA3Psf2g56YCvddxd/snaWXUgAPIRZ6jgIE75vOXDCISDl0e/mskzFSgWnexjo
SoFRm/9HH3dmnI2an2v0IxBmGigrHSr1sHKTTbWCH/ghLSknRm1qeeXHYf+T3n4JVtPWgirzkdFF
EGnBXF2zqbq3pWnFv6gdlpGs52iPtOoxv47d8tX+ESZfMYIB1TCCAdECAQEwOTAxMQswCQYDVQQG
EwJESzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQQIEP8XVRjAJBgUrDgMCGgUA
oIHzMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA1MDMwMjA4MjY0
NVowIwYJKoZIhvcNAQkEMRYEFLf3AovSldrBPsc41uLFwEhakWadMEgGCSsGAQQBgjcQBDE7MDkw
MTELMAkGA1UEBhMCREsxDDAKBgNVBAoTA1REQzEUMBIGA1UEAxMLVERDIE9DRVMgQ0ECBD/F1UYw
SgYLKoZIhvcNAQkQAgsxO6A5MDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMT
C1REQyBPQ0VTIENBAgQ/xdVGMA0GCSqGSIb3DQEBAQUABIGAQyV7JuMdiPpJmV/6xn9QEgpBzDqj
ykHU+nPPqpyonWhcxXZfOwZrDp0bMmuRnCBxsP79SrIzb68a42wTiFlgVwRhpkbGTAn8vdougBgE
o5vn8BCsUeg5GZhHckXFaDHtcvtHSAxwo7GBMc832xjew+0FiZyQaWvidwYju6qyg9QAAAAAAAA=


--=-M70cbIyKqSd34QOssWTp--