Author: gsim Date: Fri Oct 10 12:51:41 2014 New Revision: 1630820 URL: http://svn.apache.org/r1630820 Log: added class ids
Added: qpid/proton/branches/examples/proton-c/include/proton/cid.h Modified: qpid/proton/branches/examples/proton-c/include/proton/object.h qpid/proton/branches/examples/proton-c/src/messenger/store.c qpid/proton/branches/examples/proton-c/src/messenger/subscription.c qpid/proton/branches/examples/proton-c/src/messenger/transform.c qpid/proton/branches/examples/proton-c/src/object/iterator.c qpid/proton/branches/examples/proton-c/src/object/map.c qpid/proton/branches/examples/proton-c/src/object/object.c qpid/proton/branches/examples/proton-c/src/tests/object.c Added: qpid/proton/branches/examples/proton-c/include/proton/cid.h URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/include/proton/cid.h?rev=1630820&view=auto ============================================================================== --- qpid/proton/branches/examples/proton-c/include/proton/cid.h (added) +++ qpid/proton/branches/examples/proton-c/include/proton/cid.h Fri Oct 10 12:51:41 2014 @@ -0,0 +1,54 @@ +#ifndef PROTON_CID_H +#define PROTON_CID_H 1 +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +typedef enum { + CID_pn_object = 1, + CID_pn_void, + CID_pn_weakref, + + CID_pn_string, + CID_pn_list, + CID_pn_map, + CID_pn_hash, + + CID_pn_collector, + CID_pn_event, + + CID_pn_encoder, + CID_pn_decoder, + CID_pn_data, + + CID_pn_connection, + CID_pn_session, + CID_pn_link, + CID_pn_delivery, + CID_pn_transport, + + CID_pn_message, + + CID_pn_io, + CID_pn_selector, + CID_pn_selectable +} pn_cid_t; + +#endif /* cid.h */ Modified: qpid/proton/branches/examples/proton-c/include/proton/object.h URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/include/proton/object.h?rev=1630820&r1=1630819&r2=1630820&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/include/proton/object.h (original) +++ qpid/proton/branches/examples/proton-c/include/proton/object.h Fri Oct 10 12:51:41 2014 @@ -22,6 +22,7 @@ * */ +#include <proton/cid.h> #include <proton/types.h> #include <stdarg.h> #include <proton/type_compat.h> @@ -45,6 +46,7 @@ typedef struct pn_iterator_t pn_iterator struct pn_class_t { const char *name; + const pn_cid_t cid; void *(*newinst)(const pn_class_t *, size_t); void (*initialize)(void *); void (*incref)(void *); @@ -64,6 +66,7 @@ PN_EXTERN extern const pn_class_t *PN_WE #define PN_CLASS(PREFIX) { \ #PREFIX, \ + CID_ ## PREFIX, \ pn_object_new, \ PREFIX ## _initialize, \ pn_object_incref, \ @@ -79,6 +82,7 @@ PN_EXTERN extern const pn_class_t *PN_WE #define PN_METACLASS(PREFIX) { \ #PREFIX, \ + CID_ ## PREFIX, \ PREFIX ## _new, \ PREFIX ## _initialize, \ PREFIX ## _incref, \ @@ -92,6 +96,7 @@ PN_EXTERN extern const pn_class_t *PN_WE PREFIX ## _inspect \ } +PN_EXTERN pn_cid_t pn_class_id(const pn_class_t *clazz); PN_EXTERN const char *pn_class_name(const pn_class_t *clazz); PN_EXTERN void *pn_class_new(const pn_class_t *clazz, size_t size); PN_EXTERN void *pn_class_incref(const pn_class_t *clazz, void *object); Modified: qpid/proton/branches/examples/proton-c/src/messenger/store.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/messenger/store.c?rev=1630820&r1=1630819&r2=1630820&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/messenger/store.c (original) +++ qpid/proton/branches/examples/proton-c/src/messenger/store.c Fri Oct 10 12:51:41 2014 @@ -197,6 +197,7 @@ pni_stream_t *pni_stream_get(pni_store_t return pni_stream(store, address, false); } +#define CID_pni_entry CID_pn_object #define pni_entry_initialize NULL #define pni_entry_hashcode NULL #define pni_entry_compare NULL Modified: qpid/proton/branches/examples/proton-c/src/messenger/subscription.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/messenger/subscription.c?rev=1630820&r1=1630819&r2=1630820&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/messenger/subscription.c (original) +++ qpid/proton/branches/examples/proton-c/src/messenger/subscription.c Fri Oct 10 12:51:41 2014 @@ -55,6 +55,7 @@ void pn_subscription_finalize(void *obj) pn_free(sub->address); } +#define CID_pn_subscription CID_pn_object #define pn_subscription_hashcode NULL #define pn_subscription_compare NULL #define pn_subscription_inspect NULL Modified: qpid/proton/branches/examples/proton-c/src/messenger/transform.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/messenger/transform.c?rev=1630820&r1=1630819&r2=1630820&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/messenger/transform.c (original) +++ qpid/proton/branches/examples/proton-c/src/messenger/transform.c Fri Oct 10 12:51:41 2014 @@ -55,6 +55,7 @@ static void pn_rule_finalize(void *objec pn_free(rule->substitution); } +#define CID_pn_rule CID_pn_object #define pn_rule_initialize NULL #define pn_rule_hashcode NULL #define pn_rule_compare NULL @@ -75,6 +76,7 @@ static void pn_transform_finalize(void * pn_free(transform->rules); } +#define CID_pn_transform CID_pn_object #define pn_transform_initialize NULL #define pn_transform_hashcode NULL #define pn_transform_compare NULL Modified: qpid/proton/branches/examples/proton-c/src/object/iterator.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/object/iterator.c?rev=1630820&r1=1630819&r2=1630820&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/object/iterator.c (original) +++ qpid/proton/branches/examples/proton-c/src/object/iterator.c Fri Oct 10 12:51:41 2014 @@ -43,6 +43,7 @@ static void pn_iterator_finalize(void *o free(it->state); } +#define CID_pn_iterator CID_pn_object #define pn_iterator_hashcode NULL #define pn_iterator_compare NULL #define pn_iterator_inspect NULL Modified: qpid/proton/branches/examples/proton-c/src/object/map.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/object/map.c?rev=1630820&r1=1630819&r2=1630820&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/object/map.c (original) +++ qpid/proton/branches/examples/proton-c/src/object/map.c Fri Oct 10 12:51:41 2014 @@ -336,6 +336,7 @@ static bool pni_identity_equals(void *a, extern const pn_class_t *PN_UINTPTR; +#define CID_pni_uintptr CID_pn_void static const pn_class_t *pni_uintptr_reify(void *object) { return PN_UINTPTR; } #define pni_uintptr_new NULL #define pni_uintptr_free NULL Modified: qpid/proton/branches/examples/proton-c/src/object/object.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/object/object.c?rev=1630820&r1=1630819&r2=1630820&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/object/object.c (original) +++ qpid/proton/branches/examples/proton-c/src/object/object.c Fri Oct 10 12:51:41 2014 @@ -52,6 +52,11 @@ const char *pn_class_name(const pn_class return clazz->name; } +pn_cid_t pn_class_id(const pn_class_t *clazz) +{ + return clazz->cid; +} + void *pn_class_new(const pn_class_t *clazz, size_t size) { assert(clazz); Modified: qpid/proton/branches/examples/proton-c/src/tests/object.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/examples/proton-c/src/tests/object.c?rev=1630820&r1=1630819&r2=1630820&view=diff ============================================================================== --- qpid/proton/branches/examples/proton-c/src/tests/object.c (original) +++ qpid/proton/branches/examples/proton-c/src/tests/object.c Fri Oct 10 12:51:41 2014 @@ -89,6 +89,7 @@ static void noop(void *o) {} static uintptr_t zero(void *o) { return 0; } static intptr_t delta(void *a, void *b) { return (uintptr_t) b - (uintptr_t) a; } +#define CID_noop CID_pn_object #define noop_initialize noop #define noop_finalize noop #define noop_hashcode zero @@ -148,6 +149,7 @@ static void finalizer(void *object) (**called)++; } +#define CID_finalizer CID_pn_object #define finalizer_initialize NULL #define finalizer_finalize finalizer #define finalizer_hashcode NULL @@ -176,6 +178,7 @@ static void test_free(void) static uintptr_t hashcode(void *obj) { return (uintptr_t) obj; } +#define CID_hashcode CID_pn_object #define hashcode_initialize NULL #define hashcode_finalize NULL #define hashcode_compare NULL @@ -192,6 +195,7 @@ static void test_hashcode(void) pn_free(obj); } +#define CID_compare CID_pn_object #define compare_initialize NULL #define compare_finalize NULL #define compare_compare delta @@ -561,6 +565,7 @@ static uintptr_t collider_hashcode(void return 23; } +#define CID_collider CID_pn_object #define collider_initialize NULL #define collider_finalize NULL #define collider_inspect NULL --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org