@@ -54,139 +54,6 @@ enum class ClosureControlTestEventTrigger : uint64_t
5454
5555} // namespace
5656
57- namespace {
58-
59- /* *
60- * @brief Logs state transition information for debugging purposes
61- * @param fromState The previous state
62- * @param toState The new state
63- * @param reason Optional reason for the state change
64- */
65- void LogStateTransition (MainStateEnum fromState, MainStateEnum toState, const char * reason = nullptr )
66- {
67- const char * fromStateStr = " Unknown" ;
68- const char * toStateStr = " Unknown" ;
69-
70- // Convert from state enum to string
71- switch (fromState)
72- {
73- case MainStateEnum::kStopped :
74- fromStateStr = " Stopped" ;
75- break ;
76- case MainStateEnum::kCalibrating :
77- fromStateStr = " Calibrating" ;
78- break ;
79- case MainStateEnum::kMoving :
80- fromStateStr = " Moving" ;
81- break ;
82- case MainStateEnum::kWaitingForMotion :
83- fromStateStr = " WaitingForMotion" ;
84- break ;
85- case MainStateEnum::kError :
86- fromStateStr = " Error" ;
87- break ;
88- case MainStateEnum::kProtected :
89- fromStateStr = " Protected" ;
90- break ;
91- case MainStateEnum::kDisengaged :
92- fromStateStr = " Disengaged" ;
93- break ;
94- case MainStateEnum::kSetupRequired :
95- fromStateStr = " SetupRequired" ;
96- break ;
97- default :
98- fromStateStr = " UnknownState" ;
99- break ;
100- }
101-
102- // Convert to state enum to string
103- switch (toState)
104- {
105- case MainStateEnum::kStopped :
106- toStateStr = " Stopped" ;
107- break ;
108- case MainStateEnum::kCalibrating :
109- toStateStr = " Calibrating" ;
110- break ;
111- case MainStateEnum::kMoving :
112- toStateStr = " Moving" ;
113- break ;
114- case MainStateEnum::kWaitingForMotion :
115- toStateStr = " WaitingForMotion" ;
116- break ;
117- case MainStateEnum::kError :
118- toStateStr = " Error" ;
119- break ;
120- case MainStateEnum::kProtected :
121- toStateStr = " Protected" ;
122- break ;
123- case MainStateEnum::kDisengaged :
124- toStateStr = " Disengaged" ;
125- break ;
126- case MainStateEnum::kSetupRequired :
127- toStateStr = " SetupRequired" ;
128- break ;
129- default :
130- toStateStr = " UnknownState" ;
131- break ;
132- }
133-
134- if (reason != nullptr )
135- {
136- ChipLogProgress (AppServer, " Closure state transition: %s -> %s (Reason: %s)" , fromStateStr, toStateStr, reason);
137- }
138- else
139- {
140- ChipLogProgress (AppServer, " Closure state transition: %s -> %s" , fromStateStr, toStateStr);
141- }
142- }
143-
144- /* *
145- * @brief Validates if a state transition is allowed
146- * @param fromState The current state
147- * @param toState The desired new state
148- * @return true if transition is valid, false otherwise
149- */
150- bool IsValidStateTransition (MainStateEnum fromState, MainStateEnum toState)
151- {
152- // Allow transitions to Error state from any state
153- if (toState == MainStateEnum::kError )
154- {
155- return true ;
156- }
157-
158- // Allow transitions from Error state to Stopped state
159- if (fromState == MainStateEnum::kError && toState == MainStateEnum::kStopped )
160- {
161- return true ;
162- }
163-
164- // Allow transitions from Protected/Disengaged/SetupRequired to Stopped
165- if ((fromState == MainStateEnum::kProtected || fromState == MainStateEnum::kDisengaged ||
166- fromState == MainStateEnum::kSetupRequired ) && toState == MainStateEnum::kStopped )
167- {
168- return true ;
169- }
170-
171- // Normal operational transitions
172- switch (fromState)
173- {
174- case MainStateEnum::kStopped :
175- return (toState == MainStateEnum::kCalibrating || toState == MainStateEnum::kMoving ||
176- toState == MainStateEnum::kWaitingForMotion );
177- case MainStateEnum::kCalibrating :
178- return (toState == MainStateEnum::kStopped );
179- case MainStateEnum::kMoving :
180- return (toState == MainStateEnum::kStopped );
181- case MainStateEnum::kWaitingForMotion :
182- return (toState == MainStateEnum::kStopped || toState == MainStateEnum::kMoving );
183- default :
184- return false ;
185- }
186- }
187-
188- } // anonymous namespace
189-
19057Status ClosureControlDelegate::HandleCalibrateCommand ()
19158{
19259 return ClosureManager::GetInstance ().OnCalibrateCommand ();
@@ -485,58 +352,3 @@ void ClosureControlEndpoint::OnPanelMotionActionComplete()
485352 mLogic .SetCountdownTimeFromDelegate (0 );
486353 mLogic .GenerateMovementCompletedEvent ();
487354}
488-
489- // Dummy function to intentionally trigger SonarQube static analysis violations
490- void ClosureControlEndpoint::DummyFunctionWithViolations ()
491- {
492- // Code smell: Unused variable
493- int unusedVariable = 42 ;
494-
495- // Code smell: Magic number
496- int magicNumber = 999 ;
497-
498- // Duplicated code block 1
499- int duplicatedCode1 = 1 ;
500- duplicatedCode1 += 10 ;
501- duplicatedCode1 *= 2 ;
502- duplicatedCode1 -= 5 ;
503-
504- // Duplicated code block 2 (identical to block 1)
505- int duplicatedCode2 = 1 ;
506- duplicatedCode2 += 10 ;
507- duplicatedCode2 *= 2 ;
508- duplicatedCode2 -= 5 ;
509-
510- // Potential bug: Null pointer dereference
511- char * nullPtr = nullptr ;
512- if (magicNumber > 500 )
513- {
514- // This could cause a segmentation fault
515- *nullPtr = ' x' ;
516- }
517-
518- // Security vulnerability: Buffer overflow potential
519- char buffer[10 ];
520- for (int i = 0 ; i <= 20 ; i++) // Writing beyond buffer bounds
521- {
522- buffer[i] = ' A' ;
523- }
524-
525- // Code smell: Complex conditional
526- if (magicNumber > 100 && magicNumber < 500 && duplicatedCode1 != duplicatedCode2 &&
527- buffer[0 ] != ' B' && nullPtr == nullptr && unusedVariable > 0 )
528- {
529- // Do nothing - empty if block
530- }
531-
532- // Security hotspot: Hardcoded password
533- const char * hardcodedPassword = " admin123" ;
534-
535- // Code smell: Dead code
536- if (false )
537- {
538- // This code will never be executed
539- int deadCode = hardcodedPassword[0 ];
540- deadCode++;
541- }
542- }
0 commit comments