static void spruce_tcp_stream_class_init (SpruceTcpStreamClass *klass) { GMimeStreamClass *stream_class = GMIME_STREAM_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); parent_class = g_type_class_ref (GMIME_TYPE_STREAM); object_class->finalize = spruce_tcp_stream_finalize; stream_class->read = stream_read; stream_class->write = stream_write; stream_class->flush = stream_flush; stream_class->close = stream_close; stream_class->eos = stream_eos; stream_class->reset = stream_reset; stream_class->seek = stream_seek; stream_class->tell = stream_tell; stream_class->length = stream_length; stream_class->substream = stream_substream; klass->connect = tcp_connect; klass->getsockopt = tcp_getsockopt; klass->setsockopt = tcp_setsockopt; klass->getsockaddr = tcp_getsockaddr; klass->getpeeraddr = tcp_getpeeraddr; }
static gint64 lbmss_stream_seek(GMimeStream * stream, gint64 offset, GMimeSeekWhence whence) { g_return_val_if_fail(lbmss_thread_has_lock(stream), -1); return GMIME_STREAM_CLASS(parent_class)->seek(stream, offset, whence); }
static void lbmss_stream_class_init(LibBalsaMimeStreamSharedClass * klass) { GMimeStreamClass *stream_class = GMIME_STREAM_CLASS(klass); GObjectClass *object_class = G_OBJECT_CLASS(klass); parent_class = g_type_class_ref(GMIME_TYPE_STREAM_FS); g_mutex_init(&lbmss_mutex); g_cond_init(&lbmss_cond); object_class->finalize = lbmss_finalize; stream_class->read = lbmss_stream_read; stream_class->write = lbmss_stream_write; stream_class->reset = lbmss_stream_reset; stream_class->seek = lbmss_stream_seek; stream_class->substream = lbmss_stream_substream; }
static void spruce_tcp_stream_ssl_class_init (SpruceTcpStreamSSLClass *klass) { SpruceTcpStreamClass *tcp_class = SPRUCE_TCP_STREAM_CLASS (klass); GMimeStreamClass *stream_class = GMIME_STREAM_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); parent_class = g_type_class_ref (SPRUCE_TYPE_TCP_STREAM); object_class->finalize = spruce_tcp_stream_ssl_finalize; stream_class->read = stream_read; stream_class->write = stream_write; stream_class->close = stream_close; tcp_class->connect = tcp_connect; SSL_load_error_strings (); SSLeay_add_ssl_algorithms (); }
static void g_mime_stream_mmap_class_init (GMimeStreamMmapClass *klass) { GMimeStreamClass *stream_class = GMIME_STREAM_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); parent_class = g_type_class_ref (GMIME_TYPE_STREAM); object_class->finalize = g_mime_stream_mmap_finalize; stream_class->read = stream_read; stream_class->write = stream_write; stream_class->flush = stream_flush; stream_class->close = stream_close; stream_class->eos = stream_eos; stream_class->reset = stream_reset; stream_class->seek = stream_seek; stream_class->tell = stream_tell; stream_class->length = stream_length; stream_class->substream = stream_substream; }
static int lbmss_stream_reset(GMimeStream * stream) { g_return_val_if_fail(lbmss_thread_has_lock(stream), -1); return GMIME_STREAM_CLASS(parent_class)->reset(stream); }
static ssize_t lbmss_stream_write(GMimeStream * stream, const char *buf, size_t len) { g_return_val_if_fail(lbmss_thread_has_lock(stream), -1); return GMIME_STREAM_CLASS(parent_class)->write(stream, buf, len); }