Add const keyword to the demo function parameters where possible.
[pub/USBasp.git] / Demos / Device / Incomplete / Sideshow / Lib / SideshowCommands.c
index 8dc0b62..c0f7096 100644 (file)
@@ -1,21 +1,21 @@
 /*\r
              LUFA Library\r
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
-\r
-  Permission to use, copy, modify, and distribute this software\r
-  and its documentation for any purpose and without fee is hereby\r
-  granted, provided that the above copyright notice appear in all\r
-  copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting\r
-  documentation, and that the name of the author not be used in\r
-  advertising or publicity pertaining to distribution of the\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+\r
+  Permission to use, copy, modify, distribute, and sell this \r
+  software and its documentation for any purpose is hereby granted\r
+  without fee, provided that the above copyright notice appear in \r
+  all copies and that both that the copyright notice and this\r
+  permission notice and warranty disclaimer appear in supporting \r
+  documentation, and that the name of the author not be used in \r
+  advertising or publicity pertaining to distribution of the \r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
@@ -118,7 +118,7 @@ void Sideshow_ProcessCommandPacket(void)
        }\r
 }\r
 \r
        }\r
 }\r
 \r
-static void SideShow_Ping(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_Ping(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        Endpoint_ClearOUT();\r
 \r
 {\r
        Endpoint_ClearOUT();\r
 \r
@@ -127,7 +127,7 @@ static void SideShow_Ping(SideShow_PacketHeader_t* PacketHeader)
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_Sync(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_Sync(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        GUID_t ProtocolGUID;\r
 \r
 {\r
        GUID_t ProtocolGUID;\r
 \r
@@ -143,7 +143,7 @@ static void SideShow_Sync(SideShow_PacketHeader_t* PacketHeader)
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_GetCurrentUser(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_GetCurrentUser(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        Endpoint_ClearOUT();\r
 \r
 {\r
        Endpoint_ClearOUT();\r
 \r
@@ -155,7 +155,7 @@ static void SideShow_GetCurrentUser(SideShow_PacketHeader_t* PacketHeader)
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_SetCurrentUser(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_SetCurrentUser(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        SideShow_Read_Unicode_String(&UserSID, sizeof(UserSID.UnicodeString));\r
        Endpoint_ClearOUT();\r
 {\r
        SideShow_Read_Unicode_String(&UserSID, sizeof(UserSID.UnicodeString));\r
        Endpoint_ClearOUT();\r
@@ -167,7 +167,7 @@ static void SideShow_SetCurrentUser(SideShow_PacketHeader_t* PacketHeader)
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_GetCapabilities(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_GetCapabilities(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        SideShow_PropertyKey_t  Property;\r
        SideShow_PropertyData_t PropertyData;\r
 {\r
        SideShow_PropertyKey_t  Property;\r
        SideShow_PropertyData_t PropertyData;\r
@@ -280,7 +280,7 @@ static void SideShow_GetCapabilities(SideShow_PacketHeader_t* PacketHeader)
        return;\r
 }\r
 \r
        return;\r
 }\r
 \r
-static void SideShow_GetString(SideShow_PacketHeader_t* PacketHeader, void* UnicodeStruct)\r
+static void SideShow_GetString(SideShow_PacketHeader_t* const PacketHeader, void* const UnicodeStruct)\r
 {\r
        Endpoint_ClearOUT();\r
 \r
 {\r
        Endpoint_ClearOUT();\r
 \r
@@ -293,30 +293,35 @@ static void SideShow_GetString(SideShow_PacketHeader_t* PacketHeader, void* Unic
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_GetApplicationOrder(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_GetApplicationOrder(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
 {\r
-       uint8_t TotalInstalledApplications = SideShow_GetTotalApplications();\r
-       uint16_t GadgetGUIDBytes           = (TotalInstalledApplications * sizeof(GUID_t));\r
-\r
+       uint8_t  TotalApplications = 0;\r
+                  \r
        Endpoint_ClearOUT();\r
 \r
        Endpoint_ClearOUT();\r
 \r
+       for (uint8_t App = 0; App < MAX_APPLICATIONS; App++)\r
+       {\r
+               if (InstalledApplications[App].InUse)\r
+                 TotalApplications++;\r
+       }\r
+\r
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) +\r
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t) +\r
-                              sizeof(uint32_t) + GadgetGUIDBytes;\r
+                              sizeof(uint32_t) + (TotalApplications * sizeof(GUID_t));\r
        \r
        Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);\r
        Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));\r
        \r
        Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);\r
        Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));\r
-       Endpoint_Write_DWord_LE(TotalInstalledApplications);\r
+       Endpoint_Write_DWord_LE(TotalApplications);\r
        \r
        for (uint8_t App = 0; App < MAX_APPLICATIONS; App++)\r
        {\r
        \r
        for (uint8_t App = 0; App < MAX_APPLICATIONS; App++)\r
        {\r
-               if (InstalledApplications[App].InUse == true)\r
+               if (InstalledApplications[App].InUse)\r
                  Endpoint_Write_Stream_LE(&InstalledApplications[App].ApplicationID, sizeof(GUID_t));\r
        }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
                  Endpoint_Write_Stream_LE(&InstalledApplications[App].ApplicationID, sizeof(GUID_t));\r
        }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_GetSupportedEndpoints(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_GetSupportedEndpoints(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        GUID_t SupportedEndpointGUID = (GUID_t){Chunks: SIMPLE_CONTENT_FORMAT_GUID};\r
 \r
 {\r
        GUID_t SupportedEndpointGUID = (GUID_t){Chunks: SIMPLE_CONTENT_FORMAT_GUID};\r
 \r
@@ -331,7 +336,7 @@ static void SideShow_GetSupportedEndpoints(SideShow_PacketHeader_t* PacketHeader
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_AddApplication(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_AddApplication(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        SideShow_Application_t* CurrApp;\r
        GUID_t                  ApplicationID;\r
 {\r
        SideShow_Application_t* CurrApp;\r
        GUID_t                  ApplicationID;\r
@@ -376,7 +381,7 @@ static void SideShow_AddApplication(SideShow_PacketHeader_t* PacketHeader)
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_DeleteApplication(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_DeleteApplication(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        GUID_t ApplicationGUID;\r
        \r
 {\r
        GUID_t ApplicationGUID;\r
        \r
@@ -386,9 +391,7 @@ static void SideShow_DeleteApplication(SideShow_PacketHeader_t* PacketHeader)
        SideShow_Application_t* AppToDelete = SideShow_GetApplicationFromGUID(&ApplicationGUID);\r
 \r
        if (AppToDelete != NULL)\r
        SideShow_Application_t* AppToDelete = SideShow_GetApplicationFromGUID(&ApplicationGUID);\r
 \r
        if (AppToDelete != NULL)\r
-       {\r
-               AppToDelete->InUse = false;\r
-       }\r
+         AppToDelete->InUse = false;\r
        else\r
          PacketHeader->Type.NAK = true;\r
 \r
        else\r
          PacketHeader->Type.NAK = true;\r
 \r
@@ -399,7 +402,7 @@ static void SideShow_DeleteApplication(SideShow_PacketHeader_t* PacketHeader)
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_DeleteAllApplications(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_DeleteAllApplications(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        Endpoint_ClearOUT();\r
        \r
 {\r
        Endpoint_ClearOUT();\r
        \r
@@ -411,7 +414,7 @@ static void SideShow_DeleteAllApplications(SideShow_PacketHeader_t* PacketHeader
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_AddContent(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_AddContent(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        GUID_t ApplicationID;\r
        GUID_t EndpointID;\r
 {\r
        GUID_t ApplicationID;\r
        GUID_t EndpointID;\r
@@ -441,7 +444,7 @@ static void SideShow_AddContent(SideShow_PacketHeader_t* PacketHeader)
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_DeleteContent(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_DeleteContent(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        GUID_t   ApplicationID;\r
        GUID_t   EndpointID;\r
 {\r
        GUID_t   ApplicationID;\r
        GUID_t   EndpointID;\r
@@ -466,7 +469,7 @@ static void SideShow_DeleteContent(SideShow_PacketHeader_t* PacketHeader)
        Endpoint_ClearIN();\r
 }\r
 \r
        Endpoint_ClearIN();\r
 }\r
 \r
-static void SideShow_DeleteAllContent(SideShow_PacketHeader_t* PacketHeader)\r
+static void SideShow_DeleteAllContent(SideShow_PacketHeader_t* const PacketHeader)\r
 {\r
        GUID_t ApplicationID;\r
        GUID_t EndpointID;\r
 {\r
        GUID_t ApplicationID;\r
        GUID_t EndpointID;\r