Skip to content

Break Main Cisco class into partial classes for readability #62

@andrew-welker

Description

@andrew-welker

Summary

At the moment, the CiscoRoomOsCodec class, the main class for the plugin, is ~7000 lines currently, making it difficult to read and maintain. In addition, it implements multiple interfaces, both through the VideoCodecBase class and other more specific interfaces. This functionality can be broken out into partial classes, making it easier to read and find functionality related to specific interfaces, while not requiring multiple classes.

Scope

Break the CiscoCodec class in the CiscoRoomOsCodec.cs file into multiple partial classes in multiple files. Each partial class should contain the implementation of one interface that is explicitly referenced by the current CiscoCodec class, and should have the interface name in it's file name. Existing methods that implement the interface should be moved from the main file to the file that implements that interface. Any method overloads that aren't explicitly implemented by the interface should also be moved to the interface file. Also move any private fields that are related to the new file. Move any properties or methods that are an overload of the methods in the VideoCodecBase class to a file named CiscoCodecVideoCodecBase.cs. Comment on the PR if there are any questions or concerns.

Acceptance Criteria

  • [] No functionality changes
  • [] No code-related compiler warnings. Compiler warnings for missing XML methods or deprecated/obsolete methods are allowed

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions