По договоренности
Указывайте свои сроки и цену.
Подробное техническое задание с подробным описанием интерфейса и протокола будет выслано по запросу, если ваша цена меня устроит.
Технические задание на разработку Программы под windows
===
Общие требования
---
* Программа должна работать под управлением операционной windows всех версий, начиная с версии XP десктопной редации и Server 2003 серверной редакции.
* Программа не должна иметь никаких сторонних зависимостей, и использовать в работе только win32 api.
* Использование любого стороннего компонента должно быть оговорено отдельно.
* Проект должен собираться в среде MS Visual Studio 2010 Professional.
Назначение Программы
---
Управление жизненным циклом сервера удаленного доступа к аудиоплееру.
Функции программы
---
* Запуск и остановка Сервера, а также возобновление его работы в случае ошибки.
* Управление воспроизведением.
* Настройка режимов работы Сервера.
Состав компонентов интерфейса программы
---
* Контекстное меню, в котором отображаются доступные пользователю в данный момент команды управление воспроизведением и работой Сервера.
* Иконка в трее, отображающее текущее состояние работы Сервера, и аудиоплеера. При клике правой кнопкой мыши должно открываться контекстное меню (п. 1).
* Окно «Настройки», доступное только из контекстного меню, и не отображаемое во время нормальной работы приложения.
Логика работы Программы
---
Сразу же после запуска, Программа читает настройки Сервера из реестра, и передает ему их в качестве переменных окружения.
Одновременно с этим открывается Pipe-соединение с Сервером, дескриптор которого передается Серверу в переменной окружения NODE_CHANNEL_FD.
После этого, Программа вступает в цикл обработки команд, поступающих от пользовательского интерфейса Программы и от Сервера через ранее открытое Pipe-соединение, в формате JSON-сообщений, разделяемых символом новой строки.
Команды пользовательского интерфейса должны быть сериализованы соответствующим образом, и отправлены через pipe-соединение. Ответы на отправленные команды должны быть также корректно обработаны.