123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #include "sass_context_wrapper.h"
- extern "C" {
- using namespace std;
- void compile_it(uv_work_t* req) {
- sass_context_wrapper* ctx_w = (sass_context_wrapper*)req->data;
- if (ctx_w->dctx) {
- compile_data(ctx_w->dctx);
- }
- else if (ctx_w->fctx) {
- compile_file(ctx_w->fctx);
- }
- }
- void compile_data(struct Sass_Data_Context* dctx) {
- sass_compile_data_context(dctx);
- }
- void compile_file(struct Sass_File_Context* fctx) {
- sass_compile_file_context(fctx);
- }
- sass_context_wrapper* sass_make_context_wrapper() {
- sass_context_wrapper* ctx_w = (sass_context_wrapper*)calloc(1, sizeof(sass_context_wrapper));
- ctx_w->importer_mutex = new std::mutex();
- ctx_w->importer_condition_variable = new std::condition_variable();
- return ctx_w;
- }
- void sass_wrapper_dispose(struct sass_context_wrapper* ctx_w, char* string = 0) {
- if (ctx_w->dctx) {
- sass_delete_data_context(ctx_w->dctx);
- }
- else if (ctx_w->fctx) {
- sass_delete_file_context(ctx_w->fctx);
- }
- delete ctx_w->file;
- delete ctx_w->prev;
- delete ctx_w->error_callback;
- delete ctx_w->success_callback;
- delete ctx_w->importer_callback;
- delete ctx_w->importer_mutex;
- delete ctx_w->importer_condition_variable;
- NanDisposePersistent(ctx_w->result);
- if(string) {
- free(string);
- }
- }
- void sass_free_context_wrapper(sass_context_wrapper* ctx_w) {
- sass_wrapper_dispose(ctx_w);
- free(ctx_w);
- }
- }
|