Skip to content

Name collision with ArduinoIoTCloud library #52

Closed
@Marcelol52

Description

@Marcelol52

Describe the problem

When the ArduinoIoTCloud library is used in the same sketch as this library, compilation fails due to a name collision:

In file included from c:\Users\per\Documents\Arduino\libraries\Arduino_UnifiedStorage\src/Arduino_UnifiedStorage.h:10:0,
                 from C:\Users\per\Documents\Arduino\000-support\github\arduino-libraries\Arduino_UnifiedStorage\52\52.ino:2:
c:\Users\per\Documents\Arduino\libraries\Arduino_UnifiedStorage\src/Types.h:6:17: error: redeclaration of 'READ'
 enum FileMode { READ, WRITE, APPEND };
                 ^~~~
In file included from C:\Users\per\Documents\Arduino\000-support\github\arduino-libraries\Arduino_UnifiedStorage\52\52.ino:1:0:
c:\Users\per\Documents\Arduino\libraries\ArduinoIoTCloud\src/ArduinoIoTCloud.h:53:3: note: previous declaration 'permissionType READ'
   READ      = 0x01,
   ^~~~
In file included from c:\Users\per\Documents\Arduino\libraries\Arduino_UnifiedStorage\src/Arduino_UnifiedStorage.h:10:0,
                 from C:\Users\per\Documents\Arduino\000-support\github\arduino-libraries\Arduino_UnifiedStorage\52\52.ino:2:
c:\Users\per\Documents\Arduino\libraries\Arduino_UnifiedStorage\src/Types.h:6:23: error: redeclaration of 'WRITE'
 enum FileMode { READ, WRITE, APPEND };
                       ^~~~~
In file included from C:\Users\per\Documents\Arduino\000-support\github\arduino-libraries\Arduino_UnifiedStorage\52\52.ino:1:0:
c:\Users\per\Documents\Arduino\libraries\ArduinoIoTCloud\src/ArduinoIoTCloud.h:54:3: note: previous declaration 'permissionType WRITE'
   WRITE     = 0x02,
   ^~~~~

To reproduce

Compile the following minimal demonstration sketch:

#include <ArduinoIoTCloud.h>
#include <Arduino_UnifiedStorage.h>
void setup() {}
void loop() {}

Expected behavior

Library does not pollute the namespace with declarations of common names. When it is necessary to expose a declaration, a distinctive name (e.g., Arduino_UnifiedStorageFileMode::READ) is used.

Arduino_UnifiedStorage version

d41bdd0

Additional context

Additional reports

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions