Instance converter methods need to be inline functions.
authorRamsey Harris <ramsey@ti.com>
Thu, 8 Jan 2015 17:06:56 +0000 (09:06 -0800)
committerRobert Tivy <rtivy@ti.com>
Fri, 9 Jan 2015 23:11:00 +0000 (15:11 -0800)
Added missing copyright notice. Added comments. The instance
converter methods are defined in the header file. Need to be
declared as inline methods to avoid multiple implementation
link error.

linux/include/INetworkTransport.h

index 956fc67c39b905ce4fbf8a4baee54ae9a1382f15..f92b4459b7a693077d86c7f9fbe11c9a15f781b2 100644 (file)
@@ -1,3 +1,35 @@
+/*
+ * Copyright (c) 2014-2015 Texas Instruments Incorporated - http://www.ti.com
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
 /*
  *  ======== INetworkTransport.h ========
  */
 
 #include <ITransport.h>
 
-/* opaque instance handle */
+
+/*
+ *  ======== INetworkTransport_Handle ========
+ *  Opaque handle to interface instance object
+ */
 typedef struct INetworkTransport_Object *INetworkTransport_Handle;
 
+/*
+ *  ======== INetworkTransport_TypeId ========
+ *  Unique identifier for this interface
+ */
 #define INetworkTransport_TypeId 0x03
 
-/* virtual functions */
+/*
+ *  ======== INetworkTransport_Fxns ========
+ *  Interface virtual function table
+ */
 typedef struct INetworkTransport_Fxns {
     Int (*bind)(void *handle, UInt32 queueId);
     Int (*unbind)(void *handle, UInt32 queueId);
     Bool (*put)(void *handle, Ptr msg);
 } INetworkTransport_Fxns;
 
-/* abstract instance object */
+/*
+ *  ======== INetworkTransport_Object ========
+ *  Abstract instance object
+ */
 typedef struct INetworkTransport_Object {
     ITransport_Object base;             /* inheritance */
     INetworkTransport_Fxns *fxns;       /* virtual functions */
 } INetworkTransport_Object;
 
-/* function stubs */
+/*
+ *  ======== INetworkTransport_bind ========
+ *  Instance function stub
+ */
 static inline
 Bool INetworkTransport_bind(INetworkTransport_Handle inst, UInt32 queueId)
 {
     INetworkTransport_Object *obj = (INetworkTransport_Object *)inst;
-    return obj->fxns->bind((void *)inst, queueId);
+    return (obj->fxns->bind((void *)inst, queueId));
 }
 
+/*
+ *  ======== INetworkTransport_unbind ========
+ *  Instance function stub
+ */
 static inline
 Bool INetworkTransport_unbind(INetworkTransport_Handle inst, UInt32 queueId)
 {
     INetworkTransport_Object *obj = (INetworkTransport_Object *)inst;
-    return obj->fxns->unbind((void *)inst, queueId);
+    return (obj->fxns->unbind((void *)inst, queueId));
 }
 
+/*
+ *  ======== INetworkTransport_put ========
+ *  Instance function stub
+ */
 static inline
 Bool INetworkTransport_put(INetworkTransport_Handle inst, Ptr msg)
 {
     INetworkTransport_Object *obj = (INetworkTransport_Object *)inst;
-    return obj->fxns->put((void *)inst, msg);
+    return (obj->fxns->put((void *)inst, msg));
 }
 
-/* instance convertors */
+/*
+ *  ======== INetworkTransport_upCast ========
+ *  Instance converter
+ */
+static inline
 ITransport_Handle INetworkTransport_upCast(INetworkTransport_Handle inst)
 {
     INetworkTransport_Object *obj = (INetworkTransport_Object *)inst;
-    return (ITransport_Handle)&obj->base;
+    return ((ITransport_Handle)&obj->base);
 }
 
+/*
+ *  ======== INetworkTransport_downCast ========
+ *  Instance converter
+ */
+static inline
 INetworkTransport_Handle INetworkTransport_downCast(ITransport_Handle base)
 {
-    return (INetworkTransport_Handle)base;
+    return ((INetworkTransport_Handle)base);
 }
 
 #endif /* INETWORKTRANSPORT_H */
-