common: i2c: Add non-coroutine sendReceive()

This commit introduces a non-coroutine version of `sendReceive()` in the
common I2C module. The new implementation avoids potential stack buffer
issues by ensuring synchronous execution.

Change-Id: I1d308f24fafa6e0d68ffcc67073e0a2e67a6b419
Signed-off-by: Daniel Hsu <Daniel-Hsu@quantatw.com>
diff --git a/common/include/i2c/i2c.hpp b/common/include/i2c/i2c.hpp
index e86d574..d230ef7 100644
--- a/common/include/i2c/i2c.hpp
+++ b/common/include/i2c/i2c.hpp
@@ -42,6 +42,8 @@
     sdbusplus::async::task<bool> sendReceive(
         uint8_t* writeData, uint8_t writeSize, uint8_t* readData,
         uint8_t readSize) const;
+    bool sendReceive(const std::vector<uint8_t>& writeData,
+                     std::vector<uint8_t>& readData) const;
 
     bool isOpen() const
     {