Protobufs compile

This commit is contained in:
watsonb8
2019-05-31 10:17:14 -04:00
parent 9354c0b27b
commit 6503d2c410
9 changed files with 228 additions and 42 deletions

View File

@ -1,43 +1,94 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<ProduceAssemblyReference>true</ProduceAssemblyReference>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>pdbonly</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Xamarin.Forms" Version="3.6.0.264807" />
<PackageReference Include="Xamarin.Essentials" Version="1.0.1" />
<PackageReference Include="Xamarin.Forms.DataGrid" Version="3.1.0" />
<PackageReference Include="taglib-sharp-netstandard2.0" Version="2.1.0" />
<PackageReference Include="LibVLCSharp.Forms" Version="3.0.0" />
<PackageReference Include="VideoLAN.LibVLC.Mac" Version="3.1.3" />
</ItemGroup>
<ItemGroup>
<Folder Include="Frontend\" />
<Folder Include="Backend\" />
<Folder Include="Frontend\Components\" />
<Folder Include="Frontend\Views\" />
<Folder Include="Frontend\Views\Songs\" />
<Folder Include="Frontend\Views\MainView\" />
<Folder Include="Frontend\Behaviors\" />
<Folder Include="Frontend\Components\NavigationMenu\" />
<Folder Include="Frontend\Views\Albums\" />
<Folder Include="Frontend\Views\Artists\" />
<Folder Include="Frontend\Views\Stations\" />
<Folder Include="Frontend\Components\MusicPlayer\" />
<Folder Include="Backend\Utils\" />
<Folder Include="Backend\Models\" />
<Folder Include="Backend\Services\" />
</ItemGroup>
<ItemGroup>
<Compile Update="Frontend\Components\MusicPlayer\Player.xaml.cs">
<DependentUpon>Player.xaml</DependentUpon>
</Compile>
</ItemGroup>
<Project
Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<ProduceAssemblyReference>true</ProduceAssemblyReference>
</PropertyGroup>
<PropertyGroup
Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>pdbonly</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<PackageReference
Include="Xamarin.Forms"
Version="3.6.0.264807"/>
<PackageReference
Include="Xamarin.Essentials"
Version="1.0.1"/>
<PackageReference
Include="Xamarin.Forms.DataGrid"
Version="3.1.0"/>
<PackageReference
Include="taglib-sharp-netstandard2.0"
Version="2.1.0"/>
<PackageReference
Include="LibVLCSharp.Forms"
Version="3.0.0"/>
<PackageReference
Include="VideoLAN.LibVLC.Mac"
Version="3.1.3"/>
<PackageReference
Include="Grpc"
Version="1.21.0"/>
<PackageReference
Include="Grpc.Tools"
Version="1.21.0"
PrivateAssests="All"/>
<PackageReference
Include="Google.Protobuf"
Version="3.8.0"/>
</ItemGroup>
<ItemGroup>
<Folder
Include="Frontend\"/>
<Folder
Include="Backend\"/>
<Folder
Include="Frontend\Components\"/>
<Folder
Include="Frontend\Views\"/>
<Folder
Include="Frontend\Views\Songs\"/>
<Folder
Include="Frontend\Views\MainView\"/>
<Folder
Include="Frontend\Behaviors\"/>
<Folder
Include="Frontend\Components\NavigationMenu\"/>
<Folder
Include="Frontend\Views\Albums\"/>
<Folder
Include="Frontend\Views\Artists\"/>
<Folder
Include="Frontend\Views\Stations\"/>
<Folder
Include="Backend\Utils\"/>
<Folder
Include="Backend\Models\"/>
<Folder
Include="Backend\Services\"/>
<Folder
Include="Frontend\Views\Party\"/>
<Folder
Include="Frontend\Components\HostSelector\"/>
<Folder
Include="Frontend\Components\MemberList\"/>
<Folder
Include="Frontend\Components\Queue\"/>
</ItemGroup>
<ItemGroup>
<Compile
Update="Frontend\Components\MusicPlayer\Player.xaml.cs">
<DependentUpon>Player.xaml</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<Protobuf
Include="Backend\Proto\PartyService\party.proto"/>
<Protobuf
Include="Backend\Proto\PlaybackService\playback.proto"/>
<Protobuf
Include="Backend\Proto\general.proto"/>
</ItemGroup>
</Project>

View File

@ -0,0 +1,34 @@
syntax = "proto3";
package Aurora.Backend.Proto;
// PartyServic definition
service PartyService{
//Party Service
rpc JoinParty(JoinPartyRequest) returns (JoinPartyResponse);
rpc LeaveParty(LeavePartyRequest) returns (LeavePartyResponse);
}
message JoinPartyRequest {
string clientId = 1;
string userName = 2;
string ipAddress = 3;
string port = 4;
}
message JoinPartyResponse {
PartyJoinedStatusEnum status = 1;
}
message LeavePartyRequest {
string clientId = 1;
}
message LeavePartyResponse {
PartyJoinedStatusEnum status = 1;
}
enum PartyJoinedStatusEnum {
Connected = 0;
Disconnected = 1;
}

View File

@ -0,0 +1,21 @@
syntax = "proto3";
package Aurora.Backend.Proto;
import "Backend/Proto/general.proto";
service PlaybackService {
//Playback Service
rpc GetPartyStream(Empty) returns (stream Chunk) {};
}
enum TransferStatusCode {
Unknown = 0;
Ok = 1;
Failed = 2;
}
message TransferStatus {
string Message = 1;
TransferStatusCode Code = 2;
}

View File

@ -0,0 +1,10 @@
syntax = "proto3";
package Aurora.Backend.Proto;
message Chunk {
bytes Content = 1;
}
message Empty{
}

View File

@ -0,0 +1,10 @@
using System;
using Aurora.Backend.Proto;
namespace Aurora.Backend.Services.Server
{
class PartyServiceImpl : PartyService.PartyServiceBase
{
}
}

View File

@ -0,0 +1,10 @@
using System;
using Aurora.Backend.Proto;
namespace Aurora.Backend.Services.Server
{
class PlaybackServiceImpl : PlaybackService.PlaybackServiceBase
{
}
}

View File

@ -0,0 +1,28 @@
using System;
using Grpc.Core;
using Aurora.Backend.Proto;
namespace Aurora.Backend.Services.Server
{
public class ServerService : BaseService<ServerService>
{
const int Port = 50051;
public ServerService()
{
Grpc.Core.Server server = new Grpc.Core.Server
{
Services = {
PartyService.BindService(new PartyServiceImpl()),
PlaybackService.BindService(new PlaybackServiceImpl()) },
Ports = { new ServerPort("localhost", Port, ServerCredentials.Insecure) }
};
server.Start();
Console.WriteLine("Aurora server listening on port " + Port);
Console.WriteLine("Press any key to stop the server...");
Console.ReadKey();
server.ShutdownAsync().Wait();
}
}
}