The changes needed to actually make this change work are bigger than my first pass change actually suspected. I continued to make changes upto the point that I had actually changed **7777** lines of code! After that I would have to manually track down the individual lines of code that evaded the scripts that I was using to make the changes.
I have abandoned the change but I still have a script that will redo almost all the changes except for a few manual changes that were needed. If there is any interest in changing the prefix for the log levels we need an agreement from maintainers that we want it done. I think it is something that would be good to have done but without agreement it is not something I am going to spend more time trying to do. The initial work is really fast but traking down all the places that need changed will take a few hours of work. George On Sat, 2016-06-04 at 00:14 +0000, Nash, George wrote: > To change the LogLevel enum values to use a prefix was not hard but > it > is a really large change **6692** lines of code changed due to adding > the OC_ prefix. ?I made the change and pushed it up to gerrit. If we > are seriouse about making this sort of change then all we need is a > JIRA ticket. ? Note I chose OC_ since it seems to be the more common > prefix but it could really quickly be changed to something different. > > https://gerrit.iotivity.org/gerrit/#/c/8457/ > > George > > On Thu, 2016-04-07 at 01:54 +0000, Antler, David A wrote: > > > > Hi Jacob, > > > > Good prefix suggestions.??Yes, the Windows port has its own branch > > named "windows-port" with changes open for review on > > gerrit.??However, we have not published a change with the LogLevel > > renaming. > > > > Best, David Antler > > > > -----Original Message----- > > From: Gladish, Jacob [mailto:Jacob_Gladish at cable.comcast.com]? > > Sent: Wednesday, April 6, 2016 1:45 PM > > To: Antler, David A <david.a.antler at intel.com>; ???(Uze Choi) > > <uzchoi > > @samsung.com>; 'Jon A. Cruz' <jon at joncruz.org>; Chang, Gene > > <gene.cha > > ng at intel.com>; iotivity-dev at lists.iotivity.org > > Subject: RE: [dev] Error using CSDK logger in objective-C > > > > I agree that the CSDK should use enum value names with names with > > some type of prefix. I would suggest something equivalent to a c++ > > namespace-like name. Possibly OC_LOGLEVEL_ or??OC_. The naming and > > namespace in the c++ code is somewhat inconsistent, so I don't know > > what the eventual namespace is supposed to be. > > > > Do you have a branch for the windows port?? > > > > > > -----Original Message----- > > From: iotivity-dev-bounces at lists.iotivity.org [mailto:iotivity-dev- > > bo > > unces at lists.iotivity.org] On Behalf Of Antler, David A > > Sent: Wednesday, April 06, 2016 2:48 PM > > To: ???(Uze Choi) <uzchoi at samsung.com>; 'Jon A. Cruz' <jon at joncruz. > > or > > g>; Chang, Gene <gene.chang at intel.com>; iotivity-dev at lists.iotivity > > .o > > rg > > Subject: Re: [dev] Error using CSDK logger in objective-C > > > > I'm working on the Windows port, and what Jon said about our issue > > is > > correct.??Our issue with ERROR occurs when we include <Windows.h>, > > so > > we used an #undef ERROR hack.??See: > > > > ? https://gerrit.iotivity.org/gerrit/#/c/5509/16/resource/csdk/logg > > er > > /include/logger.h > > > > I think a CSDK should avoid name collisions.??A possible solution > > would be to prepend the LogLevel enum values with a prefix (such as > > "LL_") in all locations, if the maintainers would accept such a > > giant > > change. > > > > We haven't noticed any issues with the DEBUG define, so I have no > > requirements around that one. > > > > Best, David Antler > > -----Original Message----- > > From: iotivity-dev-bounces at lists.iotivity.org [mailto:iotivity-dev- > > bo > > unces at lists.iotivity.org] On Behalf Of ???(Uze Choi) > > Sent: Wednesday, April 6, 2016 1:23 AM > > To: 'Jon A. Cruz' <jon at joncruz.org>; Chang, Gene <gene.chang at intel. > > co > > m>; iotivity-dev at lists.iotivity.org > > Subject: Re: [dev] Error using CSDK logger in objective-C > > > > In conclusion, what is the proposal with action plan? > > > > On the other hand, without modifying, low-level helper can resolve > > it > > reversely. > > We need the opinion from MS windows port developer. > > > > BR, Uze Choi > > -----Original Message----- > > From: Jon A. Cruz [mailto:jon at joncruz.org] > > Sent: Wednesday, April 06, 2016 3:45 PM > > To: ???(Uze Choi); Chang, Gene; iotivity-dev at lists.iotivity.org > > Subject: Re: [dev] Error using CSDK logger in objective-C > > > > The windows build hit their main issue with the "ERROR" enum value. > > > > So far I believe we have avoided seeing the DEBUG issue much (aside > > from > > Tizen) due to the fact that we are not using a standard build > > system > > but instead have rolled our own build system using a set of low- > > level? > > helpers. > > > > The work-around for ERROR was to just undef it and replace it in > > logger.h. However... that could lead to some very bad and hard to > > spot side-effects. Long term we definitely need to address this > > correctly. > > > > On Tue, Apr 5, 2016, at 10:31 PM, ???(Uze Choi) wrote: > > > > > > > > > Instead of the potential problem, specifically error happen in > > > Windows? > > > or Google test? > > > I need the Chang answer for iOS. I'm curious Chang issue because, > > > we? > > > haven't experienced DEBUG keyword issue in iOS build here. > > > > > > BR, Uze Choi > > > -----Original Message----- > > > From: Jon A. Cruz [mailto:jon at joncruz.org] > > > Sent: Wednesday, April 06, 2016 2:19 PM > > > To: ???(Uze Choi); Chang, Gene; iotivity-dev at lists.iotivity.org > > > Subject: Re: [dev] Error using CSDK logger in objective-C > > > > > > Yes. The problem is that whoever wrote the logger code chose a > > > poor? > > > name that is commonly used for other purposes. > > > > > > 'DEBUG' is so common for a build of release vs. debug that it has > > > been? > > > the de facto standard for decades. > > > > > > We need to change the logger code to no longer hijack > > > potentially? > > > colliding names. > > > > > > In the big-picture the problem is that a code subsystem that was? > > > intended to be used throughout other code did not safely prefix > > > its? > > > names. We need to try to ensure that all names are safe. > > > > > > So the short-term fix should not be to force other code to stop > > > using? > > > "DEBUG" because the logger wants it, but to instead fix the > > > logger > > > to? > > > no longer 'steal' the "DEBUG" name. > > > > > > > > > On Tue, Apr 5, 2016, at 09:51 PM, ???(Uze Choi) wrote: > > > > > > > > > > > > As a fact, DEBUG is used for build MACRO and enum for LOG > > > > together. > > > > > > > > Chang and Jon could you make it clear that your problem and > > > > concern? > > > > is related with these two or other reserved keyword. > > > > ?(iOS, Windows and Google Test) > > > > > > > > If the problem is related with DEBUG MACRO in build script and? > > > > source code. We can fix it relatively easy. > > > > ?Today I searched DEBUG keyword from whole IoTivity source code > > > > for? > > > > #ifdef as follows. > > > > ? Debug.h (extlibs\tinydtls):# ifndef DEBUG > > > > ? Dtls-client.c (extlibs\tinydtls\examples\contiki):#ifndef > > > > DEBUG > > > > ? Dtls-server.c (extlibs\tinydtls\examples\contiki):#ifndef > > > > DEBUG > > > > ? Debug.c (resource\csdk\connectivity\lib\libcoap-4.1.1):# > > > > ifndef > > > > DEBUG > > > > ? Net.c (resource\csdk\connectivity\lib\libcoap-4.1.1):# > > > > ifndef? > > > > DEBUG To avoid the conflict, change the DEBUG definition from > > > > MACRO? > > > > for #ifdef??from upper source code and build script looks > > > > easiest > > > > way. > > > > (e.g > > > > ?BUILD_DEBUG) > > > > > > > > else if your concern and problem is related with other > > > > reserved? > > > > keyword beyond these two definitions, we need to think about > > > > it? > > > > again as Jon suggested. Redefine the enum with prefix. > > > > > > > > Let's clarify the problem first. > > > > > > > > BR, Uze Choi > > > > -----Original Message----- > > > > From: Jon A. Cruz [mailto:jon at joncruz.org] > > > > Sent: Wednesday, April 06, 2016 12:50 PM > > > > To: ???(Uze Choi); Chang, Gene; iotivity-dev at lists.iotivity.org > > > > Subject: Re: [dev] Error using CSDK logger in objective-C > > > > > > > > Yes. Enum values should be cleaned up a bit. I know during > > > > certain? > > > > sections initial code reviews called for such prefixing. > > > > However, > > > > I? > > > > think the logging code was done very early on. > > > > > > > > The Windows branch also is hitting problems with these. > > > > Additionally? > > > > use of non-prefixed enums and/or macros was one aspect of > > > > Google? > > > > Test that many found problematic. So it's not a completely > > > > unique? > > > > problem, but there are ways to fix it. > > > > > > > > On Mon, Apr 4, 2016, at 05:43 PM, ???(Uze Choi) wrote: > > > > > > > > > > > > > > > As like done in Tizen platform. > > > > > DLOG_ prefix looks best way to do. > > > > > > > > > > #ifdef __TIZEN__ > > > > > typedef enum { > > > > > ????DEBUG = DLOG_DEBUG, > > > > > ????INFO = DLOG_INFO, > > > > > ????WARNING = DLOG_WARN, > > > > > ????ERROR = DLOG_ERROR, > > > > > ????FATAL = DLOG_ERROR > > > > > } LogLevel; > > > > > #else > > > > > typedef enum > > > > > { > > > > > ????DEBUG = 0, INFO, WARNING, ERROR, FATAL } LogLevel; #endif > > > > > > > > > > Temporary you can switch code for iOS build as like this > > > > > definition. > > > > > However, holistic perspective duplication need to be avoid? > > > > > changing enum as like this. > > > > > > > > > > BR, Uze Choi > > > > > -----Original Message----- > > > > > From: iotivity-dev-bounces at lists.iotivity.org > > > > > [mailto:iotivity-dev-bounces at lists.iotivity.org] On Behalf > > > > > Of? > > > > > Chang, Gene > > > > > Sent: Tuesday, April 05, 2016 5:19 AM > > > > > To: iotivity-dev at lists.iotivity.org > > > > > Subject: [dev] Error using CSDK logger in objective-C > > > > > > > > > > I am working on using iotivity for Mac and iOS and am having > > > > > a? > > > > > compile problem using logger.h.??I?m trying to use the > > > > > rdpayload.h? > > > > > headers to do some cbor processing in an objective-C > > > > > SDK.??It? > > > > > looks like the problem I?m running into is in the LogLevel > > > > > enum > > > > > DEBUG declaration. > > > > > > > > > > I think the problem is that on Xcode for Mac/iOS (and > > > > > probably? > > > > > also VS for windows) DEBUG is already #defined and is causing > > > > > a? > > > > > conflict in the global namespace for the Iotivity CSDK.??Has > > > > > there? > > > > > been any thought to prefixing the enum declarations to > > > > > prevent > > > > > namespace conflicts? > > > > > > > > > > Thanks. > > > > > > > > > > Gene Chang > > > > > Support and Enablement Lead > > > > > Intel > > > > > gene.chang at intel.com<mailto:gene.chang at intel.com> > > > > > > > > > > This e-mail and any attachments are confidential and may be? > > > > > subject to legal or some other professional privilege. They > > > > > are? > > > > > intended solely for the attention and use of the named > > > > > addressee(s). > > > > > If you are not the named addressee(s) you must not use, > > > > > disclose,? > > > > > retain or reproduce all or any part of the information > > > > > contained? > > > > > in this e-mail or any attachments. > > > > > Any unauthorized use or disclosure may be unlawful. If you > > > > > have? > > > > > received this e-mail by mistake, please inform the sender? > > > > > immediately and delete it and all copies from your system and > > > > > destroy any hard copies of it. > > > > > > > > > > _______________________________________________ > > > > > iotivity-dev mailing list > > > > > iotivity-dev at lists.iotivity.org > > > > > https://lists.iotivity.org/mailman/listinfo/iotivity-dev > > > > > > > > > > _______________________________________________ > > > > > iotivity-dev mailing list > > > > > iotivity-dev at lists.iotivity.org > > > > > https://lists.iotivity.org/mailman/listinfo/iotivity-dev > > > > -- > > > > ? Jon A. Cruz > > > > ? jon at joncruz.org > > > > > > > -- > > > ? Jon A. Cruz > > > ? jon at joncruz.org > > > > > -- > > ? Jon A. Cruz > > ? jon at joncruz.org > > > > _______________________________________________ > > iotivity-dev mailing list > > iotivity-dev at lists.iotivity.org > > https://lists.iotivity.org/mailman/listinfo/iotivity-dev > > _______________________________________________ > > iotivity-dev mailing list > > iotivity-dev at lists.iotivity.org > > https://lists.iotivity.org/mailman/listinfo/iotivity-dev > > _______________________________________________ > > iotivity-dev mailing list > > iotivity-dev at lists.iotivity.org > > https://lists.iotivity.org/mailman/listinfo/iotivity-dev > _______________________________________________ > iotivity-dev mailing list > iotivity-dev at lists.iotivity.org > https://lists.iotivity.org/mailman/listinfo/iotivity-dev
